分类: 学习

  • 如何在Linux、macOS、Windows服务器上安装PHP

    如何在Linux、macOS、Windows服务器上安装PHP

    建立一个服务器可能是一项艰巨的任务,特别是在安装像PHP这样的语言时。如果你想让一个WordPress测试服务器运行起来,这是一个必须要学习的技能。

    不知道从哪里开始在你的服务器上安装PHP?根据你独特的设置,有很多方法可以做到这一点。在哪里下载 PHP,哪个版本,需要什么来使它工作,以及如何在不同的操作系统上安装 PHP?

    我们将在这个一站式的 PHP 安装指南中回答所有这些问题。

    1. 什么是PHP?
    2. PHP的先决条件
    3. 如何在Linux上安装PHP
    4. 如何在Windows上安装PHP
    5. 如何在macOS上安装PHP
    6. 所有关于PHP的扩展

    什么是PHP?

    PHP logo

    PHP logo

    PHP是一种开源的脚本语言,主要用于Web开发和服务器端(后端)脚本。简单地说。

    • PHP可以安装在服务器上运行脚本(例如在网站上添加表单的代码片段)。
    • 它是在服务器端而不是客户端运行的,所以它在后台而不是在浏览器中工作。
    • 它与HTML很好地结合在一起,使它非常适用于网络开发。

    它也是最容易学习的网络脚本语言之一,使它成为初学者的热门选择。但它也相当强大,适合于高级网站功能。

    许多网站和工具都使用PHP和它的许多扩展(.NET、Apache和MySQL可能听起来很熟悉)。 WordPress主要建立在PHP上,它的大多数插件和主题也在PHP上运行。

    你的服务器需要PHP吗?

    那么你知道什么是PHP,但为什么你要在你的服务器上安装它?

    最明显的原因是,它是让WordPress启动和运行的必要条件,因为它几乎完全建立在PHP上。PHP也为大多数WordPress的功能、钩子、主题和插件提供动力。

    你可以在这里看到所有其他的WordPress系统要求

    WordPress要求

    WordPress要求

    所以,如果你想运行一个WordPress测试服务器来玩玩,或者建立一个暂存网站,你就需要安装PHP。

    除此之外,PHP对初学者来说是一个很好的启动点。与其他网络脚本语言相比,它使用起来很简单,但这并不以牺牲功能为代价。如果你足够熟练,你可以用它做各种各样的事情。

    PHP也相当流行。因此,你可以在网上找到大量的扩展和资源。

    除此之外,如果你想学习WordPress主题和插件的编码,你就需要学习PHP。建立一个测试服务器是一个很好的实验方法。

    请注意,许多虚拟主机服务器都预装了PHP和WordPress。

    你需要手动操作的唯一原因是,如果你要从头开始建立一个服务器,无论是在你的本地电脑上还是在一个没有管理的托管环境中。

    这就是说,让我们进入服务器设置说明。

    PHP的先决条件

    在安装 PHP 之前,你需要确保你的服务器能够处理它。幸运的是,这些要求是相当基本的,而且很多软件可能已经安装在你的电脑上了。

    如果你以前没有创建过服务器,你应该看看这个指南,在多个操作系统上建立一个本地服务器。具体的细节因你的操作系统而异,但你应该知道如何使用命令行并准备好安装新的软件。

    无论在什么操作系统上安装 PHP,都需要一个 web 服务器来运行它。还可能需要安装一个像 MySQL 这样的数据库,所以要记住这一点。

    下面是每个操作系统的 PHP 先决条件,从 Linux 开始。

    • 一个 ANSI C 编译器。
    • 特定模块的组件,如 GD 图形库或 PDF 库。
    • 可选的:Autoconf 2.59+(适用于PHP版本<7.0),Autoconf 2.64+(适用于PHP版本>7.2),Automake 1.4+,Libtool 1.4+,re2c 0.13.4+,和Bison。

    你也应该已经熟悉浏览过类似 Unix 的操作系统了。

    现在是对 Windows 的 PHP 要求。

    • 在 PHP 5.5+ 上支持多种 Windows 操作系统,但 7.2.0+ 用户不能使用 Windows 2008 或 Windows Vista。
    • Visual C Runtime(CRT)。
    • Visual Studio 2012, 2015, 2017, 或Microsoft Visual C++ Redistributable for Visual Studio 2019,取决于你的PHP版本。

    最后,macOS没有先决条件,因为PHP是与系统捆绑的。我们将在下面解释如何启用它。

    在哪里下载PHP

    如果你需要手动下载PHP文件,你应该从官方网站的PHP下载页面获取。

    避免从第三方网站安装,除非你知道它们是安全的,因为从第三方网站下载文件可能导致意外地安装恶意软件

    PHP下载页面

    PHP下载页面

    如果是为 Windows 机器下载,请在每个版本的 PHP 中寻找 “Windows 下载 “链接,并确保安装的是正确的文件。

    你也可以安装旧版本的 PHP,但除非你知道自己在做什么,否则不建议这样做,因为它们会使你的服务器暴露在错误和重大的安全缺陷中。

    如果你运行的是Linux发行版,通常不需要通过网站获取文件,应该使用命令行。我们将在下面详细介绍。

    我应该使用哪个PHP版本?

    如果你点击了上面的下载链接,你很可能看着所有这些文件而感到不知所措。哪个PHP版本是正确的?

    一般来说,如果你要开始一个全新的项目,兼容性问题不是问题,你应该得到最新的稳定版本的 PHP。

    有时也可以下载测试版的 PHP,这些版本甚至更新,但这些版本通常都有错误,而且只是为了帮助开发人员收集反馈意见而发布的。大多数情况下,应该坚持使用稳定版本。

    那旧版本呢?每个 PHP 版本都有新的功能,但这意味着与旧的功能有新的不兼容之处。如果你需要做一些最新的 PHP 版本不支持的特定事情,你可以使用旧版本,但你应该只坚持使用目前支持的版本

    如果你不确定,那就使用最新版本的PHP。

    请注意,WordPress只与某些版本的PHP兼容。它在技术上支持从5.6.20以上的PHP版本,但这些版本已经相当老了,因此不推荐。7.4和8.0版本是目前对WordPress支持最好的版本。

    PHP版本8也是兼容的,但目前,这是很新的,并不是所有的插件都能正常工作。如果你担心兼容性问题,坚持使用PHP7.4版本。你可以阅读我们的PHP基准帖,看看各种PHP CMS和框架在不同PHP版本上的表现。

    如何在Linux上安装PHP

    在开始之前,你应该熟悉终端和如何操作一般的类Unix操作系统。一般来说,这些命令行代码应该适用于任何在终端中使用正常语法的Linux发行版,但我们在下面为特定的操作系统留下一些说明。

    首先,你应该确保你的软件包是最新的,所以在终端运行这个Linux命令

    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get update && sudo apt-get upgrade

    现在你准备好安装 PHP 了。这样做的命令毫不费力,直截了当。

    sudo apt-get install php
    sudo apt-get install php
    sudo apt-get install php

    通过终端安装PHP

    通过终端安装PHP

    这将安装最新版本的 PHP 和几个扩展。你可以用这段代码看看你有哪个版本。

    php –v
    php –v
    php –v

    如果想安装特定版本的 PHP,比如 PHP 7.4,怎么办?你需要使用 Ondřej Surý 的 PPA,即个人软件包存档。这是一个安全的方法来安装支持的旧版本的PHP。一次性运行这三个命令:

    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update
    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update
    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update

    现在系统会识别存档,并可以安装 PHP 7.4。键入以下命令:

    sudo apt install php7.4
    sudo apt install php7.4
    sudo apt install php7.4

    当然,你可以用你想要的任何 PHP 版本来代替这个数字。

    这涵盖了基本的内容,但如果你在配置方面需要额外的帮助,Unix 下的 PHP 安装文档可以帮助你。

    在Ubuntu上安装PHP

    对于Ubuntu用户来说,只要你遵循上面的指南,就没有太多的具体问题。Ubuntu是最流行的发行版之一,所以大多数Linux指南实际上是为该系统制作的。

    你可以选择的一个替代方案是下载一个LAMP堆栈。LAMP是指Linux、Apache、MySQL和PHP。它本质上是一个包含所有你需要的软件的捆绑包,以获得一个服务器的启动和运行。

    虽然你可以分别手动下载这些工具,但你可以得到Taskel,这是一个可以一次性安装所有这些工具的软件包。只要在终端中连续运行这两个命令:

    sudo apt install tasksel
    sudo tasksel install lamp-server
    sudo apt install tasksel
    sudo tasksel install lamp-server
    sudo apt install tasksel
    sudo tasksel install lamp-server

    通过终端安装LAMP堆栈与Taskel

    通过终端安装LAMP堆栈与Taskel

    在CentOS 7上安装PHP

    这个操作系统与其他Linux发行版有一点不同。在CentOS上,apt和apt-get命令不是安装软件的理想方式。相反,它使用yum,Yellowdog Updater Modified,一个更好的基于RHEL的操作系统的软件包管理器。

    否则,你需要使用的命令是非常相似的。要更新你的软件包,请运行这个命令来代替:

    sudo yum install epel-release && sudo yum update
    sudo yum install epel-release && sudo yum update
    sudo yum install epel-release && sudo yum update

    至于其他命令,通常可以用yum代替 apt-get 。要安装PHP,使用这个命令。

    sudo yum install php
    sudo yum install php
    sudo yum install php

    诸如 php –v 等PHP命令在CentOS 7上应该是一样的,所以你不需要担心这个问题。

    在Debian上安装PHP

    类似Unix的操作系统的最后一个是Debian。这次只是有一些小问题,但上面列出的大多数命令应该都能正常工作。

    对于Debian,你可以在终端命令中使用 apt-get 或 aptitude 。 aptitude 命令更全面一些,并提供一个菜单界面。至于你使用哪一个,则取决于个人的喜好,任何一个都可以完成工作。

    因此,你可以不使用通常的 apt-get 命令,而是运行这个命令:

    sudo aptitude install php
    sudo aptitude install php
    sudo aptitude install php

    Debian可能很挑剔。如果你发现PHP不能解析或者扩展程序不能工作,请确保你已经更新了服务器的网络配置文件,并且正在加载扩展程序ini文件。

    除了一些小事情,Debian的说明与其他Linux发行版的说明几乎是一样的。

    如何在Windows上安装PHP

    如果你使用的是 Windows 系统,与 macOS 和 Linux 不同,你不需要通过命令行来安装 PHP(尽管如果你愿意,这也是一个选项)。

    从这里安装 PHP 的一个简单方法是启用 IIS,然后用 WebPI 来安装 PHP。启动 WebPI 后,你可以在Products标签下找到它。在你想要的版本上点击Add,然后点击Install

    启用Windows的IIS

    启用Windows的IIS

    你也可以下载 PHP for Windows手动配置它与 IIS 一起工作。如果你使用 IIS,请确保得到一个非线程安全的版本。

    如果这一切都太复杂,你可以安装WampServerXAMPP,因为它们包含了你开始使用Web服务器所需要的一切。Apache,一个数据库,当然还有PHP。

    这些说明将适用于大多数现代Windows操作系统,如Windows 10、7和Vista。如果你使用的是旧版本的Windows,你应该看看传统的Windows安装文档。

    Windows 可能需要一些额外的配置来使 PHP 正常工作,所以一定要查看推荐的 Windows 配置文档。你只需要做一些小的ini调整。

    如何在macOS上安装PHP

    大多数 macOS 系统都预装了 PHP,所以通常不需要手动安装。

    你所需要做的就是取消对 Apache 配置文件 httpd.conf 中几行代码的注释,你通常可以在 /private/etc/apache2/httpd.conf 中找到。取消这两行的注释,去掉hashtag符号:

    # LoadModule php5_module libexec/httpd/libphp5.so
    # AddModule mod_php5.c
    # LoadModule php5_module libexec/httpd/libphp5.so
    # AddModule mod_php5.c
    # LoadModule php5_module libexec/httpd/libphp5.so
    # AddModule mod_php5.c

    如果你不喜欢某些文件设置的默认值,你可能需要做额外的配置。否则,找到DocumentRoot,然后用这个代码创建并加载一个PHP文件:

    <?php phpinfo(); ?>
    <?php phpinfo(); ?>
    <?php phpinfo(); ?>

    你可以随时用  php –v  命令检查 PHP 的版本,以确保 PHP 被正确安装。

    如果确实需要手动下载 PHP,那么应该安装 Homebrew 并使用这个简单的命令:

    brew install php
    brew install php
    brew install php

    关于PHP扩展的一切

    一旦你已经有了PHP并开始运行,考虑一下扩展是个好主意。这些编译过的库可以增加各种额外的、有用的功能。可以把它们看作是在 PHP 已经提供的功能上增加的插件。其中一些是运行PHP框架所需要的,比如LaravelSymfony

    虽然你完全可以自己编写所有的代码而不去碰扩展,但如果有广泛使用的捷径来使你的生活更容易,就没有理由自己去做。

    PHP已经有了几十个内置的扩展,其中有些必须手动启用,有些可以马上开始使用。你也可以通过像 PECL 这样的网站来安装 PHP 扩展,它承载了数百个第三方软件包。

    PHP手册中也提供了许多扩展的文档,所以你可以掌握使用它们的方法。

    不知道从哪里开始?下面是一些流行的PHP扩展的一小部分:

    • Apache:Apache是WordPress推荐的一个广泛使用的Web服务器软件,因为它与WordPress和PHP的兼容性很好。Apache与PHP捆绑在一起,所以你不需要手动安装它。
    • .NET:.NET是一个流行的软件框架,你可以用它来构建网络应用程序等。它可以与多种语言一起使用,包括PHP。你可能还对PeachPie感兴趣,它允许你在.NET中运行PHP代码。
    • MySQLi:作为旧的MySQL扩展的更好版本,MySQLi使你能够与MySQL数据库软件一起工作。这个是帮助你建立数据库的必备工具。

    每当你安装一个扩展时,你需要取消对它的注释。只要打开php.ini,删除 extension=extensionname 前面的分号 (;)。

    如果你想使你的代码标准化并使用预制库进行构建,你也应该看看这些PHP框架。它们是开始用PHP开发Web应用的一个好方法。

    小结

    不管你使用的是什么操作系统,安装PHP并不是一个多么困难的过程。如果你想做一个WordPress的测试服务器,你会需要它。有抱负的PHP程序员会发现建立一个Web服务器并在其上安装PHP是一个很好的练习。

    确保你通过命令行或从其官方网站下载PHP。你可以得到最新的稳定版本的PHP,也可以得到与WordPress兼容的任何其他版本。

  • 创建和定制WordPress导航菜单的深入浅出教程

    创建和定制WordPress导航菜单的深入指南

    一个WordPress网站如果没有菜单和子菜单,就不算什么了。在WordPress内根据你的喜好定制这些菜单也是很简单的。因此,你的WordPress菜单是一个 “front line”工具,以获得一个高的搜索排名,并保持访问者在网站上。

    WordPress内部的专用屏幕掩盖了你的菜单可以有多复杂。你也能够在你的网站上的几个位置显示菜单。如果你有编码技能,你可以定制你的WordPress菜单,几乎有无限的可能性。

    在这篇文章中,我们将给你一个创建WordPress菜单的深入指南。我们还将向你展示如何利用该功能并以几种不同的方式增强它。

    1. 剖析WordPress的菜单
    2. WordPress菜单结构的不同类型
    3. 如何创建一个自定义的WordPress菜单(3种方法)
    4. 如何加强你的WordPress菜单

    剖析WordPress的菜单

    对于不熟悉的人来说,WordPress菜单通常是一个链接(包括下拉)的集合。它是一个直接的功能,只是你的网站骨架中的一个 “椎体”。

    WordPress网站菜单示例

    WordPress网站菜单示例

    我们将在下一节中更详细地讨论在网站上看到的菜单。现在,你要知道,它们可以放在你想显示的任何地方。你可能只有几个预选的选项(基于小部件的区域)。不过,从技术上讲,菜单可以放在任何地方。

    当然,WordPress的菜单对于导航网站是最重要的。如果你有一个清晰明确的导航菜单,这将有助于用户在你的网站上浏览,它将使你的跳出率下降

    它们也有另一个目的:你的菜单有助于你的搜索引擎优化(SEO)。优化WordPress菜单以利于SEO,更多的是关于舍弃什么,而不是放进什么。对于初学者来说,你可以取消一些元素–如标签云–并保持你所包含的链接的数量较少。

    虽然谷歌允许你在一个页面上最多添加250个链接,但保持你的 “链接价值“是至关重要的。因此,减少外部链接的数量从长远来看对你有好处。

    WordPress菜单结构的不同类型

    你可能已经明白,根据你的应用程序的需要,你可以选择不同的WordPress菜单结构。

    例如,标题菜单是最常见的,因为它们处理的是主要的网站导航。你也会经常看到主导航上方的小菜单,因为这是社交媒体图标、搜索栏等的绝佳位置。

    SAU/CAL的网站有一个 “飞入 “菜单,包括导航和社交链接:

    SAU/CAL网站飞入式菜单

    SAU/CAL网站飞入式菜单

    这个菜单表明,WordPress的菜单有比导航网站更多的使用情况。使用WordPress的内置功能(后面会详细介绍),你可以为你需要的几乎任何东西创建一个菜单。

    与页眉导航一样流行的是页脚。你经常会用这个区域为向下滚动的用户重复你的主要导航。此外,它也是为你的产品和服务提供更多基于上下文的链接的绝佳场所:

    闪电博底部菜单

    闪电博底部菜单

    如果网站使用侧边栏,你还会看到侧边栏内的菜单:

    一个侧边栏导航的例子

    一个侧边栏导航的例子

    虽然在很多情况下你不会在这里看到主要导航,但它是一个传统的社交链接、博客文章档案和更多内容的地方。

    如何创建一个自定义的WordPress菜单(3种方法)

    创建一个WordPress菜单是一个简单的过程,不管你的专业水平如何。有三种主要的方法来完成这项工作:使用WordPress的内置功能;安装一个合适的插件或用代码来弄脏你的手。

    接下来,我们将向你展示如何使用这三种方法创建一个WordPress菜单。

    1. 使用WordPress的内置功能来创建你的菜单

    WordPress有内置的工具来帮助你创建一个菜单。除了最新的用户之外,WordPress管理中的一个专门屏幕对所有的用户来说都是熟悉的。

    WordPress的菜单界面

    WordPress的菜单界面

    当然,使用本地功能来创建你的WordPress菜单有许多好处。首先,你与你的网站有完全的兼容性。而且,你可以使用一个熟悉的界面和本地工具来建立你的菜单。

    要达到这个目的,请前往WordPress内的外观>菜单页面:

    WordPress的菜单链接

    WordPress的菜单链接

    这个屏幕分为几个不同的部分。在顶部,你会发现选择当前菜单或创建一个新菜单的选项:

    菜单选择下拉

    菜单选择下拉

    如果你决定建立一个新的菜单,给它起个名字,并查看菜单设置部分。

    菜单设置选项

    菜单设置选项

    这里有很多复选框,但你有两个主要决定要做:

    • 自动添加顶级页面到菜单中。 这里的 “顶级 “是指你在WordPress中创建的不是其他页面的子页面的页面。例如,一篇博客文章不是一个顶级页面,因为在许多情况下它会有一个父级档案页(例如/blog)。另一方面,一个联系页面通常是顶级的,因为它通常不会有一个父页面。
    • 菜单位置。 每个主题都会有它的菜单位置。除非你改变了主题的核心文件,否则主题开发者已经硬编码了这些菜单位置。有些主题可能允许你通过其设置来定制它们。

    一旦你准备好了,点击创建菜单按钮。屏幕将刷新,并将显示你在你的新菜单中。接下来,看一下屏幕的左侧:

    菜单项的手风琴式菜单

    菜单项的手风琴式菜单

    这个屏幕列出了你网站上所有的帖子、页面、分类法和其他可链接的资产。你通过勾选左边的方框来建立你的菜单,然后点击添加到菜单按钮。

    这将把它们移到菜单屏幕的中央部分:

    在菜单结构部分拖放项目

    在菜单结构部分拖放项目

    在这里,你可以把菜单项目拖到合适的位置。如果你点击每个项目旁边的扩展箭头,你还可以为你的菜单项目设置一个标签,或者删除它。

    展开一个菜单项

    展开一个菜单项

    一旦你点击了保存菜单,你就可以开始了。不过,如果你展开屏幕顶部的屏幕选项菜单,你可以对你的WordPress菜单做更多事情:

    显示选项面板

    显示选项面板

    显示元素组可以让你在左边的侧边栏显示菜单元框。相比之下,显示高级菜单属性组可以显示列表项的链接目标、描述和CSS类。

    菜单屏幕还有一个值得注意的方面。自定义链接框让你设置一个你选择的链接,而不是你网站上预定义的页面:

    自定义链接框

    自定义链接框

    这个选项是你如何将社交媒体链接添加到你的WordPress菜单中。该平台将根据你选择的网站为你拉出正确的图标,让你有机会为你选择的网站提供显示良好的标识。

    2. 使用一个插件来创建你的自定义WordPress菜单

    为WordPress添加功能的直接解决方案是通过插件。上一节已经介绍了为什么WordPress的原生选项几乎是你所需要的全部,但是插件可以扩展这个功能。

    有一个问题是,你是否需要一个专门的(和额外的)插件来创建一个WordPress菜单,尽管这样做有很多好的理由。对于初学者来说,你经常会根据你在默认设置下无法访问的风格来制作一个菜单。特定的响应式设计、”巨型菜单 “等等,都可以通过插件来实现。

    更重要的是,你可以使用一个专门的编辑器建立菜单,并在很多情况下从预设模板中选择。再加上广泛的定制选项,你有一个 “无代码 “解决方案,将提供一个适合你的网站的WordPress菜单。

    例如,Max Mega Menu插件在你能实现的方面没有任何意外:

    Max Mega Menu插件

    Max Mega Menu插件

    一旦它被安装和激活,你会在WordPress内发现一个新的Mega Menu面板:

    WordPress内的Menu Locations链接

    WordPress内的Menu Locations链接

    如果你看一下Menu Locations屏幕,你会发现有更多的自定义功能供你使用:

    Max Mega Menu的菜单位置屏幕

    Max Mega Menu的菜单位置屏幕

    你还可以应用菜单主题,并以类似于市场上一些最好的页面生成器的范围来编辑它们:

    Max Mega Menu中的 "菜单主题 "屏幕

    Max Mega Menu中的 “菜单主题 “屏幕

    我们可以在这里挖掘更多的东西,尽管我们会重复自己。我们鼓励你查看我们以前关于WordPress菜单插件的文章。我们详细介绍了如何选择适合你的插件以及如何使用它。

    3. 编写代码来创建你的自定义WordPress菜单

    为你自己的WordPress菜单编码是一个可靠的方法,可以实现你的勇敢者的目标(或者如果你是一个创建新的WordPress主题的开发者)。当然,你不会每天都打开一个代码编辑器来添加一个菜单。为此,你会使用本地的WordPress工具(或者可能是一个插件)。

    也就是说,如果你想开发主题,学习如何为WordPress菜单编码是一个重要的要求。成功有四个部分

    • 注册你的菜单。
    • 在前端显示WordPress的菜单。
    • 在你的菜单或其项目中显示额外的内容。
    • 定义一个回调。

    我们假设你对代码编辑器很顺手,你有一个可以工作的开发环境,而且你的技能很敏锐。如果你还没有一个主题可以使用,你可以使用WordPress的默认选项,或者从我们的最快WordPress主题列表中挑选一个。

    当你准备好的时候,你要打开主题的 functions.php 文件。注意,这与一般WordPress的同名文件不同。在这里,你需要注册你的菜单。换句话说,你必须告诉WordPress在外观>菜单页面上显示什么。要做到这一点,你需要使用register_nav_menus()函数。

    function register_my_menus() {
    register_nav_menus(
    array(
    ‘header’ => __( ‘Header Menu’ ),
    ‘other’ => __( ‘Other Menu’ )
    )
    );
    }
    add_action( ‘init’, ‘register_my_menus’ );
    function register_my_menus() {
    register_nav_menus(
    array(
    ‘header’ => __( ‘Header Menu’ ),
    ‘other’ => __( ‘Other Menu’ )
    )
    );
    }
    add_action( ‘init’, ‘register_my_menus’ );
    function register_my_menus() {
    register_nav_menus(
    array(
    'header' => __( 'Header Menu' ),
    'other' => __( 'Other Menu' )
    )
    );
    }
    add_action( 'init', 'register_my_menus' );
    

    这段代码告诉WordPress内的Manage Locations标签显示两个菜单:Header MenuOther Menu

    在WordPress中注册菜单

    在WordPress中注册菜单

    接下来,你必须使用wp_nav_menu()函数来显示你的菜单。你要把它添加到与你想显示菜单的地方相对应的模板文件中。在我们的例子中,我们要用头,所以我们要在主题的header.php文件中添加以下代码:

    wp_nav_menu( array( ‘theme_location’ => ‘header’ ) );
    wp_nav_menu( array( ‘theme_location’ => ‘header’ ) );
    wp_nav_menu( array( 'theme_location' => 'header' ) );
    

    可能是这段代码被包裹在 if 语句中,和你的其他一些菜单一起,所以你要遵循你发现的惯例。

    在这一点上,你可以像其他的菜单一样在WordPress中工作。虽然,你可能也想考虑为你的菜单项添加额外的内容。例如,你可以扩大定义的数组,以包括将在输出时呈现的HTML标签:

    wp_nav_menu(
    array(
    ‘menu’ => ‘primary’,
    ‘link_before’ => ,
    ‘link_after’ => ,
    )
    );
    wp_nav_menu(
    array(
    ‘menu’ => ‘primary’,
    ‘link_before’ => ”,
    ‘link_after’ => ”,
    )
    );
    wp_nav_menu(
    array(
    'menu' => 'primary',
    'link_before' => '',
    'link_after' => '',
    )
    );
    

    你在这里的最后一项任务是定义一个回调。默认情况下,当没有找到指定的菜单时,WordPress会显示一个填充的菜单。作为一种选择,当没有选择自定义菜单时,WordPress会显示一个页面的菜单。如果这不是你想要的动作,你可以为 theme-location 参数设置一个不同的参数,也可以添加一个 fallback_cb 参数:

    wp_nav_menu(
    array(
    ‘menu’ => ‘primary’,
    // do not fall back to first non-empty menu
    ‘theme_location’ => ‘__no_such_location’,
    // do not fall back to wp_page_menu()
    ‘fallback_cb’ => false
    )
    );
    wp_nav_menu(
    array(
    ‘menu’ => ‘primary’,
    // do not fall back to first non-empty menu
    ‘theme_location’ => ‘__no_such_location’,
    // do not fall back to wp_page_menu()
    ‘fallback_cb’ => false
    )
    );
    wp_nav_menu(
    array(
    'menu' => 'primary',
    // do not fall back to first non-empty menu
    'theme_location' => '__no_such_location',
    // do not fall back to wp_page_menu()
    'fallback_cb' => false
    )
    );
    

    一旦你理解了如何创建一个WordPress菜单,你就可以开始增强其功能。我们将在最后一节看一下这个问题,为WordPress创建一个自定义的菜单元框。

    如何增强你的WordPress菜单

    因为这一部分是高级的,我们在继续之前会做一些假设:

    • 你知道如何用PHP创建一个WordPress菜单。
    • 你的PHP技能足够好,可以跟随一些高级主题。
    • 你知道如何注册和初始化一个WordPress插件。

    这超出了本文的范围,但你可以使用WordPress插件模板生成器来创建一个新的、标准化的插件模板。

  • 网络开发中的Git:了解一个项目的典型工作流程

    网络开发中的Git

    网络开发与协作有着内在的联系。大多数时候,你会和其他开发者一起工作,即使没有,Git 也能在很多其他方面帮助你。

    Git 是控制我们制作的应用程序的版本的软件。单打独斗的开发者、大公司,甚至是世界上最大的开源项目 Linux 都在使用它。

    作为一个网络开发者,知道如何正确使用Git进行网络开发是极其重要的。我们不只是在谈论 “git add”、”git commit “和 “git push”。你应该知道用Git创建一个web项目的整个工作流程。

    1. 为什么使用Git?
    2. 网站开发的基本 Git 工作流程
    3. 如何在Kinsta使用Git

    为什么要使用Git?

    这些只是开始使用 Git 的部分原因:

    • 组织:与其用v1、v2、v3等文件夹来管理项目,不如用一个专门的数据库来存储所有版本的文件。
    • 协作:Git 可以让你和其他人同时在同一个项目上工作而不产生冲突。
    • 开源:Git是开源的,但它也是我们用来协作和创造伟大的开源软件的工具。任何人都可以在GitHubBitbucket等平台上向开源项目提出拉取请求。
    • 平台的灵活性:如今,你有许多不同的Git托管服务可以选择,比如Gitlab、GitHub、Bitbucket和SourceForge。你甚至可以为你的所有项目使用一个自我托管的解决方案。
    • 轻松备份:轻松地撤销错误,永远不会丢失你的项目代码库。

    我们已经提过一两次GitHub这个词了,那么Git和GitHub之间有什么区别?

    如果你对 Git 完全陌生,可能会感到困惑。简单地说,Git 和 GitHub 是相关但不同的工具

    Git 是我们用来控制文件变化的版本控制系统(VCS),而 GitHub 是我们用来在线存储项目文件及其 Git 历史的服务(位于项目的 .git/ 文件夹中)。

    Git安装在本地,在你的机器上,如果没有像GitHub或GitLab这样的托管服务,就很难与其他开发者进行协作。

    GitHub通过增加其他改善协作的功能,如克隆、分叉和合并,为Git增压。这两个工具结合在一起,为你带来了一个相对友好的生态系统,可以开发、管理并向其他人展示你的项目。

    专注于开发,而不是托管。给我们的管理应用程序托管一个旋转。

    大的IaaS供应商倾向于将事情过度复杂化。跳过过时的仪表盘、臃肿的产品线和令人困惑的内置功能,你将不会使用。在几分钟内部署你的代码。另外,你的第一个月可以得到20美元的优惠。

    网页开发的基本 Git 工作流程

    在接下来的章节中,你将通过亲身实践了解更多关于网页开发的 Git 工作流程。

    安装要求

    如果你还没有安装Git,现在是个好时机。它很容易安装,在大多数操作系统上都可以使用。

    官方下载页面下载,如果你使用的是Linux或macOS,则可以用软件包管理器安装它:

    Git下载页面

    Git下载页面

    为了测试安装是否顺利,在Linux或macOS上通过在应用程序菜单中搜索 “Terminal “来启动终端,或者在Windows上打开Git bash(默认安装有Git)。

    然后输入:

    git --version

    Git版本

    Git版本

    如果你得到一个Git版本作为回应,你就可以开始了。

    我们还需要一个GitHub账户,所以请确保注册或登录GitHub:

    GitHub的注册页面

    GitHub的注册页面

    一旦你安装了Git并登录了GitHub账户,就可以进入下一节了。

    协作项目的基本Git工作流程

    如前所述,大部分时间你都不会单独开发项目。协作是一项关键技能,而Git和GitHub可以帮助我们把它变成一个简单而有效的过程。

    一个Git项目的典型工作流程是这样的:

    1. 通过克隆版本库或 repo 获取项目的本地副本。如果你要合作,你应该先分支这个 repo。
    2. 创建一个分支,用你要做的功能的一个代表性名称。
    3. 编辑该项目。
    4. 在你的本地机器上提交修改。
    5. 推送修改内容到远程版本库。
    6. 向原始版本创建一个拉取请求。
    7. 合并和解决原始 repo 的主分支中的冲突。

    教程

    现在是我们动手的时候了!

    在本指南中,你将创建一个简单的HTML网站。为了实用起见,你将把HTML网站仓库的基本项目分支到你的GitHub账户。所有公共可用的软件库都可以这样做。

    Info

    分支是一个独立的版本库副本,你可以在不影响原项目的情况下管理和修改。另一方面,克隆一个仓库,只是创建一个文件的本地副本。

    要分支这个HTML网站,请到这个GitHub仓库,点击位于页面右上方的Fork按钮:

    GitHub分支

    GitHub分支

    现在你有一个原始版本的分叉,只在你的GitHub账户上可用。在你开始提交修改之前,它是完全一样的 repo。

    正如你所看到的,分叉一个公共的 repo 只需要几秒钟。这对开源项目来说是很好的,但请记住,如果你的组织有一个私有的 repo,在尝试分叉之前,你需要作为一个贡献者加入。

    现在是时候把你的分叉带到你的本地机器上了。要做到这一点,你需要用 git clone 命令来克隆它,它可以从远程服务器上获取 Git 仓库:

    git clone remote_url

    你需要把 remote_url 替换成你的分叉的URL。要获得GitHub repo的确切URL,请进入其页面并点击代码。然后选择SSH,并复制它给你的链接:

    SSH URL.

    SSH URL.

    你要运行的克隆分支 repo 的命令是:

    git clone git@github.com:yourusername/HTML-site.git
    git clone git@github.com:yourusername/HTML-site.git
    git clone git@github.com:yourusername/HTML-site.git

    当你克隆一个 repo 时,你会得到一个带有其名称的文件夹。这个文件夹里有项目的源代码(在这里是指HTML网站)和Git repo,它位于一个名为.git的文件夹里。

    你可以通过在图形化文件管理器中打开新的文件夹,或者在终端用 ls 或 dir 命令直接列出这些文件,来查看新目录中的文件列表:

    # Linux/macOS
    ls HTML-site/
    # Windows
    dir HTML-site
    .git images .gitignore index.html LICENSE README.md styles.css
    # Linux/macOS
    ls HTML-site/
    # Windows
    dir HTML-site
    .git images .gitignore index.html LICENSE README.md styles.css
    # Linux/macOS
    ls HTML-site/
    # Windows
    dir HTML-site
    .git images .gitignore index.html LICENSE README.md styles.css

    这个HTML网站非常简单。它使用了Bootstrap的实用功能和一些来自Unsplash的图片,在那里你可以为你的网站下载免费图片

    如果你在浏览器中打开index.html文件,你会看到一个有一些图片的简单页面:

    我们正在创建的简单网页

    我们正在创建的简单网页。

    是时候玩一玩这个项目了。它感觉非常空洞,也许一个带有网站名称的标题可以增强用户体验。

    要做到这一点,进入HTML-site目录,创建一个名为 header 的分支。在这个新的分支中,我们可以编辑所有的文件,并尽可能多地实现代码,因为这不会影响主(原始)分支。

    运行以下命令:

    git checkout -b header
    git checkout -b header
    git checkout -b header
    

    这将创建一个名为 “header “的分支,并在这之后将你切换到它。这相当于:

    git branch header
    git checkout header
    git branch header
    git checkout header
    git branch header
    git checkout header
    

    为了确认一切顺利,运行:

    git status
    # On branch header
    # nothing to commit, working tree clean
    git status
    # On branch header
    # nothing to commit, working tree clean
    git status
    # On branch header
    # nothing to commit, working tree clean
    

    你会看到你已经从 “主 “分支转移到 “头 “分支,但工作树仍然是干净的,因为我们没有编辑过任何文件。

    在你喜欢的代码编辑器中,打开分支项目中的index.html文件。这个文件包括一些指向Bootstrap 5的链接,所以我们可以利用该框架的即用型组件。

    index.html文件的 <body> 标签内和图片容器上方添加以下代码:

    <header>
    <nav class=“navbar navbar-light bg-light”>
    <div class=“container-fluid”>
    <span class=“navbar-brand mb-0 h1”>HTML site</span>
    </div>
    </nav>
    </header>
    <header>
    <nav class=”navbar navbar-light bg-light”>
    <div class=”container-fluid”>
    <span class=”navbar-brand mb-0 h1″>HTML site</span>
    </div>
    </nav>
    </header>
    <header>
    <nav class="navbar navbar-light bg-light">
    <div class="container-fluid">
    <span class="navbar-brand mb-0 h1">HTML site</span>
    </div>
    </nav>
    </header>

    新的页眉

    我们的网页上有一个新的页眉。

    看起来好多了! 你可以自由地进行其他分支和修改。

    一旦你完成了对项目的编辑,就该把所有的修改提交到你的本地版本。在项目目录中,在终端键入以下内容:

    git add –all
    git commit -m “Added simple header in index.html file”
    git add –all
    git commit -m “Added simple header in index.html file”
    git add --all
    git commit -m "Added simple header in index.html file"

    重要的

    所有的Git提交信息都必须是清晰而有意义的。每当你添加一个提交,你和你的队友都应该能够识别该提交中发生了什么,这样如果出现了错误,你就可以很容易地修复它。

    当你刚开始一个项目时,有描述性的提交信息是很常见的,但随着时间的推移和重点的转移,信息的质量往往会下降。请确保保持良好的命名实践。

    现在你已经向本地版本库提交了文件(现在还只能在你的电脑上使用),现在是时候把它推送到远程版本库了。

    如果你试图像平常一样推送提交,那是行不通的,因为你现在是在头层分支上工作。你需要为 header 设置上游分支:

    git push –set-upstream origin header
    git push –set-upstream origin header
    git push --set-upstream origin header

    从2021年8月13日开始,GitHub要求使用SSH认证,所以请确保你的密钥设置正确。

    在这之后,你应该可以在你的分叉仓库中看到一个名为 header 的新分支(例如:https://github.com/yourusername/HTML-site/branches):

    “header” 分支

    “header” 分支.

    要向原始版本创建一个拉动请求,请点击 “Compare“,在Active branches部分。

    这将引导你进入一个拉取请求,你需要选择你想与哪个分支(原始分支或你的分叉)合并。默认情况下,它显示的是与基本仓库合并的选项:

    在GitHub上创建拉动请求

    在GitHub上创建拉动请求

    一旦你点击了拉动请求选项,你就需要对所做的修改写一个简短的描述,就像你先前的提交一样。再一次,尽量简明扼要,但要描述清楚:

    编写拉动请求信息

    编写拉动请求信息

    点击Create pull request按钮,等待基础仓库所有者接受或反馈你的修改。

    祝贺你 – 你刚刚完成了网页开发中常见的 Git 工作流程的所有步骤。

    这是一个非常基本的例子,但其逻辑可以延伸到各种规模的项目中。请确保你在更大的合作项目中也能严格执行这个工作流程。

    如何在Kinsta使用Git

    如果你是Kinsta的用户,你已经有两种方法可以在MyKinsta门户中使用Git和GitHub。

    我们先来看看第一种方法。你可以很容易地通过SSH进入并从任何Git托管服务(如GitHub、Gitlab或Bitbucket)中提取一个Repo。

    要做到这一点,进入你的Sites标签,选择一个网站,然后进入你的SSH细节部分,并复制SSH终端命令。

    SSH细节部分

    SSH细节部分

    通过SSH登录到你的网站,在你的终端粘贴上面的命令,然后进入你的网站的公共文件夹(位于/www/yoursitename/下)。这里是你所有WordPress文件的位置,所以你可以拉下一个Git repo,里面有你一直在工作的定制主题或插件。

    下面是你如何用一个简单的命令拉下一个Git repo:

    ssh yourkinstasite@1.2.3.4 -p PORT “cd /www/my_site/public && git pull https://github.com/user/repo.git”
    ssh yourkinstasite@1.2.3.4 -p PORT “cd /www/my_site/public && git pull https://github.com/user/repo.git”
    ssh yourkinstasite@1.2.3.4 -p PORT "cd /www/my_site/public && git pull https://github.com/user/repo.git"
    

    重要

    SSH应该由高级用户使用。如果你不熟练操作,不要犹豫,先联系Kinsta支持。

    现在,引入Kinsta新的GitHub部署功能,你可以从GitHub仓库部署一个完整的WordPress网站。

    你的GitHub仓库应该包括WordPress核心文件的副本,当然还有你的网站在wp-content文件夹下的内容。

    让我们快速看一下这个选项。

    去你公司的一个网站,创建一个暂存环境。这不会超过两分钟的时间。

    暂存环境

    暂存环境

    一旦你进入了你的暂存站点,进入Deployment选项卡,点击Begin setup按钮。你会看到一个GitHub模版,让Kinsta与你的GitHub账户连接。

    GitHub部署标签

    GitHub部署标签

    现在,选择你要拉动你的网站的 repo。

    将Kinsta连接到GitHub

    将Kinsta连接到GitHub。

    最后,部署你的网站,并通过你的暂存网站URL访问它。

    立即部署按钮

    立即部署按钮。

    这项功能目前还处于Beta阶段,但很快每个Kinsta用户都会有机会使用它。

    如果你知道如何很好地使用Git和Kinsta,那么它们将是一个强大的组合。

    小结

    如今,Git是网络开发中必须学习的工具,因为大多数时候你都会与他人合作,以创建最好的项目。

    在这篇文章中,我们讨论了在项目中使用Git的一些重要原因,并向你展示了在Git repo中进行协作的基本工作流程。

  • 什么是WordPress版本控制及最佳解决方案

    什么是WordPress版本控制及最佳解决方案

    WordPress版本控制可以帮助你跟踪你的WordPress网站的变化,监测正在发生的事情,并在需要时回滚这些变化。这些变化可能是简单的调整,比如对帖子的编辑,也可能是更多的技术变化,比如对网站代码库的编辑。

    在这篇文章中,我们将解释更多关于什么是版本控制,以及它如何适用于WordPress。然后,我们将探讨一些你可以用来在你的WordPress网站上实施版本控制的工具。

    1. 什么是WordPress版本控制?
    2. WordPress版本控制的最佳选择

    什么是WordPress版本控制?

    版本控制系统跟踪一个(或多个)文件的变化,以便你可以看到事情是如何变化的,如果需要,可以恢复到以前的版本。

    应用于WordPress,版本控制让你跟踪你或其他人对你的网站所做的修改。

    在WordPress的上下文中,版本控制可以跟踪以下行动:

    • 更新或发布一个帖子。
    • 安装或卸载一个新的插件。
    • 改变你的WordPress主题。
    • 更新你的核心软件或任何主题或插件。

    你不仅可以看到这些变化,而且还可以在需要时撤销它们或回滚到以前的版本。

    在开发的意义上,版本控制也可以帮助开发者管理代码库的变化,让他们在 “合并 “到主代码库之前克隆一些代码段来进行工作。根据你的WordPress网站的复杂性,你可能也会发现这个功能很有帮助。

    在WordPress中,版本控制的一个非常有限的例子是WordPress的内置修订功能,它可以让你比较一个帖子或页面的变化,并在需要时恢复以前的版本:

    内置的WordPress修订功能

    内置的WordPress修订功能

    但是,你也可以实施更强大的系统,而且,根据你使用的WordPress版本控制系统,你将能够跟踪你的网站的文件和网站的数据库的变化。

    WordPress版本控制的好处是什么?

    设置WordPress版本控制有几个大的好处。

    首先,版本控制让你在对你的网站进行修改时更有信心。做了一个改动,把一些东西搞乱了?不用担心,你可以撤消它,恢复到你网站的工作版本。

    第二,如果你有一个帮助你的WordPress网站的团队,你将能够更有效地一起工作,因为你可以跟踪正在发生的一切。此外,如果你使用一种支持分支和合并的方法,开发人员将能够复制你的网站的部分代码来进行工作,然后在准备就绪时将这些代码 “合并 “到你的实时网站。

    最后,版本控制帮助你监控你的网站正在发生的事情。例如,版本控制让你看到你的一个编辑是否更新了一个已经发布的帖子。如果他们这样做了,你可以看到他们的改动,并在需要时轻松地回滚。

    所以,现在你对在你的网站上设置版本控制有了更多的了解,让我们来看看WordPress版本控制的一些解决方案。

    WordPress版本控制的最佳选择

    有几种WordPress控制的解决方案,取决于你的技术知识和你希望你的版本控制系统有多全面。

    下面是我们将详细介绍的WordPress版本控制解决方案:

    • Git – 有几种方法可以让你在WordPress中使用Git,包括像Github、GitLab、Bitbucket等托管仓库。要了解更多,请确保阅读我们关于Git与Github的指南。
    • VersionPress插件 – 它也实现了Git,但以一种更自然的方式,尽管它仍在测试阶段。
    • WP Rollback – 一个非常简单的系统,用于回滚主题和插件的更新。
    • Bedrock – 由Root团队创建,Bedrock的设置方式可以让你轻松维护一个版本控制的仓库。

    当然,你也可以利用WordPress内置的Revisions系统来跟踪和撤销修改。

    如何在WordPress中使用Git

     

     

     

     

     

    Git是一个开源的分布式版本控制系统,由Linus Torvalds在2005年创建。它的技术性较强,但它是最流行的版本控制系统之一,被所有类型的开发者使用。也就是说,它不是专门针对WordPress的。

    通常情况下,你想在GitHubBitbucket或GitLab这样的托管仓库中管理你的WordPress网站的代码。然后,你可以根据需要将你的网站从该仓库部署到你的实时服务器。

    如果你想在WordPress中使用Git,你有几个不同的选择。

    首先,如果你在Kinsta托管,我们有Git客户端,所以你可以通过SSH进入并从任何服务中提取你的Git仓库,包括GitHub、GitLab和Bitbucket。

    或者,还有其他一些针对WordPress的和通用的工具来帮助你从Git上进行部署。

    如果你想要一个针对WordPress的解决方案,两个不错的选择是:

    • WP Pusher – 让你从任何Git仓库部署主题和插件。注意,这个工具专门针对主题和插件。
    • Revisr – 提供一个更全面的方法来使用WordPress的Git。你可以在一个Git仓库中跟踪你的整个网站,包括你的数据库。你也可以从你的WordPress仪表盘中提交修改,恢复文件,并推/拉修改到一个远程仓库(如Bitbucket或GitHub)。

    Revisr插件的界面

    Revisr插件的界面

    而在普通方面,你也可以使用BeanstalkDeployBot等工具。

    如何使用VersionPress进行版本控制

    VersionPress是一个开源项目,旨在通过对网站的文件和数据库进行版本控制,”将Git的全部力量带到WordPress”。虽然它也依赖Git,但VersionPress有自己的部分,因为它的做法与上面的方法有点不同。

    VersionPress的独特之处在于,它跟踪每一个细小的变化,并以自然的人类语言进行记录。例如,VersionPress不只是记录数据库的变化,而是告诉你有人 “更新了Hello World!”的帖子。很明显,这使得Git在WordPress网站的背景下变得更加有用和易于使用。

    例如,将VersionPress中的操作列表与上面Revisr截图中的操作列表进行比较。看到区别了吗?

    VersionPress的界面

    VersionPress的界面

    它还为你提供了一个选项,可以撤销或回滚任何这些变化,备份你的网站,创建暂存环境和合并数据库,推送到托管的Git存储库,等等。

    虽然这听起来很不错,但重要的是要注意VersionPress仍然被认为是一个 “开发者预览版”。开发者说,你不应该在生产网站上使用它。

    安装VersionPress,你需要在你的服务器上安装Git并启用proc_open()

    如何使用WP Rollback来撤销更新

    WP Rollback并不像之前的解决方案那么全面,它只适用于WordPress.org的主题和插件。不过,在更有限的基础上,它确实是一个非常有用的版本控制工具。

    你是否曾经更新过一个WordPress主题或插件,但它却破坏了你网站上的某些东西?

    好吧,首先,你应该使用一个暂存站点,这样就不会发生这种情况了!但是,如果你是在一个网站上运行更新,那么你就应该使用一个暂存站点。但是,如果你在一个真实的网站上运行更新,并且出了问题,能够回滚到之前的版本是很有帮助的,至少在你能找出问题所在之前是这样。

    为了帮助你做到这一点,WP Rollback在你网站的插件界面上增加了一个新的Rollback按钮,让你可以把任何WordPress主题或插件 “回滚 “到以前的版本。

    新的Rollback选项

    新的Rollback选项

    你可以选择你想恢复的确切版本:

    版本控制让你对你网站的代码有足够的控制

    版本控制让你对你网站的代码有足够的控制

    小结

    版本控制可以帮助你跟踪你的WordPress网站的变化,这样你就可以保持对正在发生的事情的关注,并在需要时回滚。

    如果你在一个团队中工作,版本控制还可以通过一个分支和合并的系统帮助你采用更有效的工作流程。团队成员可以复制你的网站的一个特定部分来工作,然后在准备好的时候把它 “合并 “到主代码中。

    对于WordPress,你有几个版本控制的选择,取决于你的需求和技术知识。

    对于开发者来说,Git是一个很好的版本控制的选择。Kinsta支持Git客户端,你也可以使用WP Pusher(用于主题和插件)、Revisr、Beanstalk和DeployBot等工具,从GitHub等托管的Git存储库进行部署。

    对于更简单、技术含量更低的实施,你可以选择内置的WordPress修订功能和/或WP Rollback插件。

    最后,虽然它还没有准备好,但VersionPress提供了最针对WordPress的Git实现,绝对是一个值得关注的项目。

    你对如何开始使用WordPress的版本控制有什么问题吗?请在评论中告诉我们。

  • 总结下:WordPress提示PHP默认时区无效最简单的解决方法

    总结下:WordPress提示PHP默认时区无效最简单的解决方法

    参考了网上很多方法,有的修改模板的配置文件,有的要修改PHP里面的时区,有的要修改WORDPRESS的配置文件,试了试都没有解决。

    后台直接修改

    首先,后台-设置-常规,检查一下WordPress时区设置是否正确,一般为上海或者UTC+8,才能正确显示东八区时间。

    我是将上海修改为UTC+8,问题解决

  • WordPress健康检测提示PHP默认时区无效

    WordPress健康检测提示PHP默认时区无效

    一招改善更新WordPress后后台加载慢的问题

    话说千巧哥的博客把WordPress升级到5.93,可更样按的主题和插件都已更新到最版,可点击WordPress后台的议表盘,看到健康与状态竟然不是很健康,三个问题出现了,上图。

    其实是两个问题,已检测到活动的PHP会话和REST API属于同一个问题,看描述就知道了,同样是调用REST API,这个留到明天再聊。

    先聊简单的,PHP默认时区无效。

    先理解一下问题给出的描述:

    PHP的默认时区在WordPress载入后被date_default_timezone_set()函数调用修改,这可能会影响日期和时间的正确计算。

    参考了一下WordPress的技术文献,再结合度娘给予改问题的推文,发现该问题对网站本身并没有什么不良的影响,但对于SEO会带来不可预知的影响,具体影响千巧哥不得而知,有兴趣的可以度娘了解一下,这里就不复制粘贴了。

    同样,按照度娘推文的方法一个个去试,没有一个方法能解决问题的,有时真觉得度娘开始不可靠了,得到的都是相似度极高的答案,有很多就是复制粘贴,除了标题,啥都没改。

    有了前车之鉴,千巧哥这次直接停用了在用的主题,启用了默认主题,好家伙,真是主题惹的祸,停用后立刻正常。

    想着是更新WordPress后才出现的问题,在后台设置–常规里的时区确定设置正确。

    启用第三方主题后才出现的问题,肯定需要在第三方主题的代码去找原因了。

    这时,如果你是在主题官网直接购买的主题,可将问题直接丢给作者来解决,可千巧哥用的是廉价的正版授权,没法咨询,更没法要求作者帮忙解决。

    来吧,兵来将挡,进入宝塔面板后台,再进入到主题的根目录,打开文件functions.php,搜索date_default_timezone_set()

    看到注释了吧

    //获取wordpress系统中设置的时区 进行初始化

    好,这就是好作者的好习惯,一目了然,这句代码就是调用时区的。

    date_default_timezone_set($timezone);

    因为未升级WordPress是正常的,这段代码之前是没问题,更新版本之后,估计是无需二次调用了,而这段代码属于二次调用,所以导致问题出现。

    解决方法也很简单,把这句代码直接删除,或注释掉就可以了。

    不知自样注释掉,前面加两个斜杆就可以了,就像以下这样。

    // date_default_timezone_set($timezone);

    至此,该问题解决。

  • 腾讯云服务器挂载云硬盘数据盘并初始化云硬盘

    腾讯云服务器挂载云硬盘数据盘并初始化云硬盘

    在腾讯云后台挂载云硬盘

    进入CVM或者Lighthouse管理,这里以Lighthouse为例。选中数据盘,选择实例并挂载,大约需要1分钟。

    手动挂载云硬盘后,云硬盘为脱机状态,需登录实例完成初始化操作使云硬盘可用。

    在Linux系统中初始化数据盘
    通过控制台创建的云硬盘在手动挂载后,作为轻量应用服务器的数据盘使用,默认为联机状态。需登录实例,对数据盘进行格式化、分区及创建文件系统等初始化操作使其可用。

    初始化方式有两种,一般选择第一种,也就是将一整块数据盘当作一个盘来整体的使用。

    1.若整块硬盘只呈现为一个独立的分区(即不存在多个逻辑盘,如 vdb1 和 vdb2 ),强烈推荐您不使用分区,直接 在裸设备上构建文件系统。
    2.若整块硬盘需要呈现为多个逻辑分区(即存在多个逻辑盘),则您需要先进行分区操作,再 在分区上构建文件系统。

    在裸设备上构建文件系统

    1. ssh 连接实例
      这一步不需要做任何说明,使用ssh工具连接即可
    2. 执行以下命令,查看磁盘名称

    sudo fdisk -l

    回显信息类似如下图,表示当前轻量应用服务器有两块磁盘,/dev/vda 为90GB的系统盘,/dev/vdb为1000TB的数据盘

    1. 执行以下命令,对 /dev/vdb 裸设备直接创建文件系统格式

    sudo mkfs -t <文件系统格式> /dev/vdb

    不同文件系统支持的分区大小不同,请根据实际需求合理选择文件系统。以设置文件系统为 EXT4 为例,则执行以下命令:

    sudo mkfs -t ext4 /dev/vdb

    注意!
    格式化需要等待一段时间,请观察系统运行状态,不要退出。

    执行以下命令,新建挂载点。

    以新建挂载点 /data 为例,则执行以下命令:

    sudo mkdir /data

    执行以下命令,将设备挂载至新建的挂载点。以新建挂载点 /data 为例,则执行以下命令:

    sudo mount /dev/vdb /data

    执行以下命令,查看挂载结果。

    sudo df -TH

    返回类似如下图所示信息,表示 /dev/vdb 已挂载至 /data。

    但是每次重启之后都需要手动重新挂载,所以我们需要设置开机自动挂载磁盘

    开机自动挂载磁盘
    执行以下命令,查看文件系统的 UUID

    sudo blkid /dev/vdb

    记下此处的uuid并且复制!
    执行以下命令,备份 /etc/fstab 文件
    以备份到 /home 目录下为例:

    sudo cp -r /etc/fstab /home

    执行以下命令,使用 VI 编辑器打开 /etc/fstab 文件

    sudo vi /etc/fstab

    按 i 进入编辑模式。

    将光标移至文件末尾,按 Enter,添加如下内容。

    <设备信息> <挂载点> <文件系统格式> <文件系统安装选项> <文件系统转储频率> <启动时的文件系统检查顺序>

    以使用磁盘分区的 UUID 自动挂载为例,结合前文示例则添加:

    UUID=【上文中获取的UUID】 /data ext4 defaults 0 0

    例如:

    UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data ext4 defaults 0 0

    按 Esc,输入 :wq 并按 Enter 保存设置并退出编辑器。
    执行以下命令,检查 /etc/fstab 文件是否写入成功

    sudo mount -a

  • 什么是元描述及如何有效地优化这部分内容

    什么是元描述及如何有效地优化这部分内容

    元描述,即搜索引擎于搜索结果中列出的收录链接页面的描述文字,是搜索引擎通过分析所获取到的页面核心信息。

    对我们来说,了解元描述的定义、重要性及相应的实践措施,可以提升网站页面的收录及搜索排名优化。

    什么是元描述?

    元描述(也称为“描述标签”)是一种HTML属性,旨在描述网页的内容。

    以下是HTML形式的元描述:

    大多数现代搜索引擎,包括谷歌和必应,不再使用元描述作为直接排名信号。

    但是,描述通常出现在SERP(搜索引擎结果页面)中。这会影响用户的自然点击率。

    谷歌搜索结果元描述

    为什么元描述很重要?

    谷歌、必应和其他搜索引擎几年前就停止在其排名算法中使用元描述。

    也就是说,正确的元描述可以带来更多点击。这是一个直接的排名因素。

    谷歌有利于提高了页面的自然搜索点击率

    事实上,对500 万个Google搜索结果的大规模分析发现,与缺少元描述的页面相比,具有元描述的页面的点击次数平均多5.8%。

    带元描述页面比无元描述页面的自然搜索点击率高

    甚至Google自己也建议为您网站上的每个页面编写元描述。

    谷歌建议为每个页面编写唯一的元描述

    社交媒体网站(如Facebook和Twitter)有时会在文章中显示您的描述。

    寻找新内容的未开发方法:tweet元描述

    但是,Google并不总是在搜索结果中显示您的元描述。根据谷歌的说法,他们通常会用你页面中的一段内容替换你的元描述。

    谷歌经常用页面内容替换元描述

    即便如此,为您网站上的每个页面编写一个独特的元描述仍然非常值得。以及重要的搜索引擎优化最佳实践

    这正是编写对SEO友好的元描述的方法。

    1. 使用利益驱动的文案

    您的元描述需要清楚地描述某人将从您的页面获得的好处。

    这种好处在很大程度上取决于您的页面的全部内容。

    以及人们用来显示您的结果的关键字。

    例如,以这篇关于页面搜索引擎优化的文章为例。

    页面搜索引擎优化文章截图

    阅读这篇文章的好处是,有人将获得一份详尽的指南,为Google优化他们的内容。

    这就是为什么在元描述中强调这种好处:

    页面搜索引擎优化文章元描述代码

    所以,是的,大多数内容的主要好处是学习如何做某事。所以你想在你的描述中强调这个好处。

    但是对于电子商务产品页面,您谈论的好处类型将完全不同。服务页面。您的主页。或者工具。

    例如,查看Beardbrand的此产品页面的描述。

    beardbrand beard润滑油产品页面描述

    看看描述如何提到“没有已知的DHT抑制成分,并以阿比西尼亚和巴巴苏油为特色”。

    我不知道那些东西是什么意思🙂

    但对于寻找胡须油的人来说,这些产品功能将帮助他们决定是否点击该结果。

    这导致我们……

    2. 保持在155个字符以下

    谷歌限制了它们在SERP中显示的元描述标签的数量。

    具体来说,它们往往只显示您描述的前155个字符(75个中文字符)。因此,您希望将元描述保持在155个字符以下。

    否则,您的描述可能会被截断。

    或者Google可能根本不会使用您的描述。

    注意:谷歌的元描述限制实际上是通过像素大小来衡量的。不是字符。从技术上讲,谷歌会在920像素处切断元描述。但在大多数情况下,保持在155个字符限制以下效果很好。而且更容易衡量。)

    大多数WordPress SEO插件(如Yoast)会自动计算标题标签和元描述中的字符。

    yoast元数据字符计数

    您还可以使用Portent提供的有用的SERP片段预览工具

    它将确保您处于字符限制之下。并预览您的结果将如何显示给Google搜索者。

    portent:serp预览工具

    3. 从Google Ads中获得灵感

    如果您编写面向利益的描述。

    并保持在谷歌的字符限制之下。

    您已经领先于99%的人编写元描述。

    但是,如果您想让您的描述写作更上一层楼,请尝试从Google Ads复制文字。

    为什么?

    Google Ads的展示位置取决于广告客户的出价。而且还有质量得分

    具体来说,质量得分高的广告每次点击支付的费用低于质量得分低的广告。

    影响质量得分的第一因素是什么?

    点击率。

    换句话说:获得大量点击的广告,每次点击支付的费用更少。因此,当您在搜索结果中看到广告时,您可以非常确信它的点击率很高。

    这意味着您拥有经过验证的副本,可以在页面标题和描述中使用。

    有了这个,这里是如何做到的。

    首先,在Google中搜索您的目标关键字。

    (您也可以搜索该术语的变体。)

    然后,留意多个广告使用的任何副本。

    google搜索广告语

    如果该副本对您的页面有意义,请将其合并到您的描述中。

    yoast元描述复制广告语

    4.使用当前年份(或月份)

    仅当您的内容对时间非常敏感时,这才有意义。

    否则,您无需担心在描述中添加日期。

    但是,如果您的内容需要超级最新,我建议测试带有日期的描述。

    例如,以这个页面围绕“ SEO工具”这个词进行优化。

    免费SEO工具文章截图

    搜索“SEO工具”的人希望确保他们阅读的内容是最新的。

    新工具进入市场。旧工具被关闭。现有工具有时会完全改变它们的工作方式。

    因此,在这种情况下,您需要强调您的内容已更新这一事实。这就是我在元描述中提到年份的原因:

    免费SEO工具文章元描述截图

    在某些情况下,您甚至可能想要包含月份

    例如,如果您的页面列出了一直在变化的排名(例如“最佳NFL球队”)。

    或者,如果您有需要定期更新的数据或统计数据(例如“当前全球Instagram用户数量”)。

    这种方法的唯一缺点是您需要每月或每年手动更改元描述。

    但是点击率的提升可以让它绝对值得。

    5.包括你的目标关键词

    您想在元描述中至少提及一次目标关键字。

    而不是因为它给你任何直接的SEO好处。

    (请记住:搜索引擎不会将您的元描述中的内容用作排名信号。)

    那么为什么要在描述中使用关键字呢?

    因为它可以帮助您获得更多点击。

    原因如下:

    首先,谷歌在SERP中使您的关键字加粗。

    SERP加粗关键词

    这有助于它脱颖而出。

    其次,您的关键字强调您非常适合该人的搜索查询。

    例如,假设您刚刚搜索了“SEO清单”。

    在#3结果的元描述中看到术语“SEO清单”会使您更有可能点击它。

    只要您的页面兑现承诺,就会为该人带来整体良好的用户体验。

    6.为每个页面编写独特的元描述

    您想为网站上的每个页面编写唯一的元描述标签。

    事实上,谷歌最近建议人们编写独特的元描述(而不是自动生成它们)。

    谷歌站长博客关于描述元标签说明

    换句话说:你不希望一堆重复的元描述漂浮在周围。

    这对于拥有5k+页面的电子商务网站来说是不是很痛苦?

    是的。

    这值得么?

    绝对地。

    7.使用这个经过验证的描述公式

    在过去的10年中,我测试了数十种不同的描述公式。

    有些是很好的元描述。

    有些很糟糕。

    还有一些字面上的点击率是我的3倍。

    从所有这些测试中,这是最适合我的测试:

    元描述公式

    我建议试一试。或者根据您的需要进行调整。

    无论哪种方式,这比从头开始编写每个元描述要容易得多。

    小结

    自然点击率:了解如何优化标题标签和网址以最大化自然点击率。

    谷歌多久重写一次元描述?:来自Ahrefs的有趣数据发现Google仅在62%的情况下使用您页面的元描述。

  • SEO内容优化初学者教程指南

    SEO内容优化初学者教程指南

    这是创建SEO内容的完整指南。这里所展示的技术将能够帮助您在竞争性关键字中获得更好的排名。因此,如果您想学习如何为SEO编写内容,您会喜欢今天的指南。

    什么是SEO内容?

    SEO内容是旨在在搜索引擎(如谷歌)中排名的在线内容。此外,为SEO编写的内容通常围绕特定关键字进行优化。

    在搜索引擎优化方面,不要搞错:

    内容是关键。

    事实上,HubSpot报告称,定期发布博客文章的企业获得的流量比不定期发布内容的企业多350%

    博客月流量统计

    谷歌甚至站出来表示,内容是SEO成功的一个非常重要的部分。具体来说,他们确认“内容”是谷歌排名前三的因素之一。

    search engine watch

    而且我可以从第一手经验中说,内容营销可以帮助您获得大量自然流量。

    事实上,您可以在闪电博的WordPress学院->WordPress SEO获取专门用于在Google中排名的内容。

    SEO文章矢量

    这种以SEO为重点的内容策略是我的网站每月获得449,058名搜索引擎访问者的主要原因之一。

    谷歌访客数据统计

    有了这个,这正是为SEO创建内容的方法。

    如何编写SEO内容

    第 1 步:选择一个主题

    您的第一步是为您的内容提出一个主题。

    具体来说,您想涵盖目标客户关心的主题。

    以下是提出精彩内容创意的 3 种快速方法:

    • Reddit:前往活跃的subreddit,您的目标受众往往会在那里闲逛。并寻找往往会一次又一次出现的主题。这些可以是博客文章或视频中涵盖的重要主题。
    • 竞争对手博客:查看竞争对手博客中的热门博客文章、视频和信息图表。他们有什么共同点?你可以模仿(或改进)什么?
    • 人物角色:人物角色可以帮助充实目标客户在不搜索您的产品或服务时在线搜索的内容类型。这是一个例子: basketball buyer persona

    例如,我的目标受众是由全职做营销的人组成的。

    不久前,我注意到关于SEO subreddit的讨论。

    reddit搜索引擎优化反向链接问题

    所以我决定创建一个回答这个特定问题的文章

    反向链接文章截图

    简单的。

    第 2 步:查找关键字

    现在是时候为您的内容找到关键字了。

    要清楚:

    关键字研究是一个巨大的话题。因此,我无法涵盖有关在此处查找关键字的所有知识。

    但是我可以为您提供一些目前非常有效的快速关键字研究技术。

    首先,使用Google Suggest查找长尾关键词

    谷歌下拉关键词示例

    这种技术的酷炫之处在于您可以看到人们现在正在搜索的关键字。这意味着这些条款(还)不是超级有竞争力的。

    其次,使用Ubersuggest

    这个免费的关键词研究工具可帮助您提出新的关键词创意。它还可以让您知道每个月有多少人在Google中搜索该关键字。

    Ubersuggest网站

    最后,在AnswerThePublic中键入几个不同的单词和短语。

    与大多数其他关键字工具不同,AnswerThePublic 100%专注于问题。因此,如果您想创建围绕问题关键字优化的内容(例如:“为什么内容营销很重要?”),这个工具就是一个金矿。

    answerthepublic关于paleo的问题

    然后,继续进行第 3 步……

    第 3 步:编写综合内容

    这是关于SEO内容的肮脏小秘密:

    如果您希望您的内容在Google中排名,它必须是令人敬畏的。

    换句话说:

    “优质内容”是不够的。您的内容必须是给定搜索的最佳结果……否则它不会排名。事实上,令人惊叹的内容是SEO成功的关键。

    你是怎样做的?

    写出全面的内容。

    换句话说:发布内容,为搜索关键字的人提供他们需要的一切。

    例如,早前发布了这份完整的SEO移动端优化指南

    SEO移动端优化指南文章截图

    现在我可以写一些类似的东西:“5个移动SEO技巧”。

    但我知道综合内容在谷歌中排名第一的机会比一篇短文要好得多。

    正如您所料,综合内容往往比您平均400字的博客文章长得多。

    事实上,关于Google排名信号研究发现,大多数关键字的前10个结果的平均长度往往为1,447个字:

    搜索引擎自然排名前10个结果的平均长度为1,447个字

    为什么长内容排名更好?

    • 较长的内容有助于为Google提供有关该网页主题的更多信息。这使他们更加确信您的页面是该关键字的相关结果。
    • 正如我之前提到的,长篇文章可以涵盖很多关于同一主题的300字博客文章。这意味着长文章比短内容更能回答搜索者的查询。
    • 长内容往往比浅内容吸引更多的链接和社交分享。

    例如,我之前提到的移动端SEO指南是4,330字。

    那段内容容易写吗?见鬼!

    仅初稿就花费了20多个小时。

    也就是说,编写长篇内容可能是您的竞争优势。

    您的竞争对手可能懒得写深入的文章。这意味着当您开始发布非常彻底的内容时,您将立即将自己与其他人区分开来。

    有了这个,让我们继续进行SEO内容编写过程的下一步。

    第 4 步:针对用户进行优化

    现在您已经编写了一段内容,是时候为用户优化它了。

    具体来说,你想让你的内容超级容易消费。

    因为事实是这样的:

    如果您的内容不容易阅读和理解,它就不会排名。

    (即使您的页面搜索引擎优化是完美的。)

    这是因为谷歌现在使用“用户体验信号”(除了传统的排名信号,如反向链接)来确定哪些结果值得在SERP中排名第一。

    因此,如果人们喜欢您的内容,它将获得排名提升。

    pogostick对应搜索排名的影响

    有了这个,这里有一些SEO文案技巧,您可以使用它们来确保您的内容满足用户和搜索引擎。

    首先,让你的内容的前几句话真的很短。

    研究表明,人们更喜欢阅读短句。读者也不喜欢从屏幕一端到另一端的大段文本。

    这就是为什么你想让你网站上每篇文章和登陆页面的前几句话变得超级、超级短。

    此外,将前5到10个句子压缩在巨大的空白处,这样人们的眼睛就不必来回移动。

    我们应该对每个文章都遵循这条规则。

    其次,我建议在您的内容中添加大量多媒体。

    换句话说:使用视频、音频、图表、图表、交互式媒体、测验、游戏和信息图表。

    当您的内容中包含高质量的多媒体时,您会满足更多访问您网站Google的人。

    喜欢视频的人会坐下来观看您的YouTube视频。

    喜欢阅读的人会浏览您的博文。

    音频爱好者会戴上耳机收听您的播客。

    事实上,谷歌质量指南文件告诉审阅者考虑具有“补充内容”(以计算器、下载和图表的形式)的页面比纯文本页面质量更高。

    谷歌补充属性

    简而言之,使用多媒体是值得付出额外努力的。

    最后,使用H标签子标题来分解您的内容。

    这对于长篇内容尤其重要。

    我遵循的一个好的经验法则是每200个单词的内容至少包含一个子标题。

    例如,您可以看到我在所有文章中都使用了很多副标题:

    文章副标题示例

    这使它们易于阅读(和略读)。

    第 5 步:使用关键字优化您的内容

    这一步是为了让您的内容对SEO友好。

    该视频将引导您完成整个分步过程:

    现在您已经观看了视频,下面是我如何优化我的一篇博客文章的示例:“如何创建有效的SEO策略”。

    SEO策略文章截图

    首先,我确保在页面的前100个单词中包含我的主要关键字。

    文章关键词布局

    这被称为“关键字突出”。

    为什么这很重要?

    关键字首次出现在页面上的位置越高,Google对该关键字的考虑就越多。

    如果您考虑一下,这是有道理的:

    如果您正在撰写有关某个主题的文章,为什么不立即提及与该主题相关的单词(换句话说,关键字)?

    其次,我在我的网站上添加了指向其他内容的内部链接

    文章内链建设

    最后,我在标题标签中嵌入了一个长尾关键字。

    对该页面的目标关键字是“SEO策略”。该关键字每月获得240次搜索(每次点击费用为15美元)。

    ahrefs关于seo strategy关键词的概览

    正如您所料,要为这样一个艰难的关键字排名还需要一段时间。

    这就是为什么您还可以围绕长尾关键词优化了页面,比如“2022年SEO策略”。

    第 6 步:在社交媒体上分享

    是时候在社交媒体上宣传您的内容了。

    你如何推广很大程度上取决于你的利基。

    例如:

    如果你经营一个烹饪博客,你会想要专注于Pinterest或Instagram。

    但如果你在数字营销领域,像Twitter这样的平台更有意义。

    比如在Twitter上分享文章:

    twitter社交分享示例

    还可以使用增强型Facebook文章将文章内容展示给更多人。

    facebook分享文章示例

    第 7 步:建立链接

    毫无疑问:

    链接建设是巨大的。

    事实上,一项2019年搜索引擎排名因素研究发现,链接对于在Google中获得高排名仍然“非常重要”。

    searchengineland数据统计图表

    问题是:

    你如何让人们链接到你的内容?

    首先,您查阅用于建立反向链接的策略

    然后,通过反向链接查找工具,检查在博客、搜索引擎优化和社交媒体空间的网站上的死链接。通过邮件等方式联系到相关人,对死链接进行更新。

    第 8 步:分析你的结果

    您的最后一步是查看您的内容的执行情况。

    为此,我建议跟踪您页面的搜索引擎排名:

    semrush排名跟踪

    和自然流量(使用谷歌分析):

    谷歌自然流量分析

    您还可以在Search Console中查看“展示次数” :

    谷歌控制台查看展现次数

    要记住的一件事是SEO可能需要时间。

    即使您完全按照这些步骤操作,搜索引擎优化仍然需要2-3个月才能“开始”。因此,不要指望第二天会有全新的内容在Google中排名。

    例如,我前段时间发布了这个SEO案例研究。

    摩天大楼技术研究

    尽管我的内容针对用户和SEO进行了优化,但该页面需要大约60天才能进入Google的第一页。

    小结

    希望您从这个SEO内容指南中获得大量价值。您可以根据上述的每一个步骤开展您的网站的SEO内容编写,遵守并细化每个技巧的实施,相信最终您可以大获成功。

  • 怎样才算SEO友好的网页设计?

    怎样才算SEO友好的网页设计?

    SEO友好网页设计是创建可被搜索引擎完全访问和索引的网站的实践。

    虽然并非所有网站都是采用自主设计的模板或者外观布局,但充分了解SEO友好网页设计及对应的点,能够帮助站长们更好地将页面调整为最佳状态,又或者选择最能够符合SEO的网站模板。

    为什么SEO友好的网页设计很重要?

    这很简单:

    对SEO友好的网站通常比忽略搜索引擎的网站获得更多流量。

    当然,您希望将用户放在首位。但是为了充分利用您的网站,您需要在设计和开发网站时考虑到用户和搜索引擎。

    seo友好页面设计

    最佳实践

    完全可索引的页面

    Google可以完全索引您网站上的内容,这一点非常重要。以下是确保发生这种情况的方法:

    使用替代文字

    谷歌不擅长识别图像。换句话说,没有你的帮助,谷歌和其他搜索引擎无法理解图像是什么。

    这就是为什么Google建议您:

    “为图像提供描述性文件名和alt属性描述。”

    什么是alt替代文本

    例如,这是下面这张图片,主要目的是为了展示页面的权威URL:

    规范URL示例

    为了帮助搜索引擎理解那张图片是什么,便有了一个描述性的文件名:canonical-example.png

    并且还使用了准确描述图像的替代文本——canonical例子

    隐藏内容

    隐藏在表单和可扩展菜单后面的内容可能很难被搜索引擎索引。

    例如:

    网站有时会将部分内容隐藏在标签或“手风琴”后面。

    手风琴ui设计示例(这对于旨在在移动设备上快速加载的内容非常常见)

    尽管谷歌通常可以毫无问题地索引这些内容,但他们有时会:

    谷歌有时难以索引隐藏内容

    这就是为什么建议您公开所有内容。这样,他们就可以轻松地抓取100%的页面并将其编入索引。

    提供视频文字脚本

    就像图像一样,Google无法理解视频或音频格式的内容。他们需要文字。

    因此,如果您在您的网站上发布多媒体内容,请在页面上将Google与transcript联系起来:

    带transcript的视频

    未拦截索引

    Robots.txt中的“noindex”元标记告诉搜索引擎不要索引页面。

    阻止访问意味着没有索引

    这对于正在构建或仅为内部员工设计的页面很有帮助。

    但是你会惊讶于这个标签被错误使用的频率。

    例如,Chad Burgess有一个客户不小心将noindex标记应用于他们的大部分页面

    这(显然)导致自然流量大幅下降:

    不正确使用noindex标签导致流量下降

    而当那个noindex标签被移除后,他们的排名很快就恢复了:

    noindex标签问题解决后排名提高

    关联阅读:

    使用SEO浏览器

    想要100%确定您的内容是可索引和可​​抓取的吗?

    使用SEO浏览器。

    搜索引擎优化浏览器向您展示您的页面在搜索引擎中的外观。

    (剧透:您的网站看起来与Chrome等常规浏览器有很大不同)

    我建议使用免费且有用的Zeo SEO浏览器

    zeo seo浏览器

    只需在工具中输入您网站的URL……

    zeo搜索引擎优化浏览器输入url

    … 让您从搜索引擎蜘蛛的眼中看到您的内容。

    zeo浏览器返回抓取结果

    就我而言,我页面的主要内容(如文本和图像)是完全可见的。

    zeo seo浏览器显示结果文本和图像完全可见

    但是,如果您注意到页面的关键部分在SEO浏览器中是不可见的,那么它们对Google也是不可见的。

    所以这是你想尽快解决的问题。

    抓取和渲染

    Google Search Console有一个URL检查功能。

    如果Google在访问您的页面时遇到问题,这会通知您。

    如果一切正常,您将获得一个绿色复选标记。

    如果一切正常gsc绿色复选标记

    简单的网站架构

    网站架构听起来可能很复杂。但事实并非如此。

    网站架构只是您网站上的所有页面如何链接在一起。

    网站结构

    通常,您希望保持站点架构简单。

    换句话说:

    如果您遇到这样的混乱,Google将很难找到并索引您的所有页面。

    复杂的网站架构

    另一方面,像这样的架构让Google的工作轻松了很多。

    简单站点架构

    独特的内容

    谷歌讨厌重复的内容。

    事实上,谷歌表示,如果他们发现一个包含大量重复内容的网站:

    “……该网站的排名可能会受到影响,或者该网站可能会完全从Google索引中删除,在这种情况下,它将不再出现在搜索结果中。”

    简而言之:

    您希望在您网站的每个页面上都有独特的内容。

    这对于一个50页的博客来说很容易。

    但是对于拥有500多个地点的不同页面的本地企业来说呢?还是拥有10k个产品页面的电子商务网站?

    相同的规则适用。

    写一些关于你在布鲁克林的干洗店的100%独特的东西并不容易,这与你在皇后区的位置完全不同。

    但是,如果您希望这些页面在Google中排名,您需要实现它。

    事实上,谷歌警告不要使用在多个页面上重复的样板内容:

    谷歌警告不要使用样板内容

    重复的内容是SEO毒药。不惜一切代价避免它。

    使用Canonical规范标签

    在某些情况下,您的网站上可能有多个具有相似内容的不同页面……但您只希望其中一个进行排名。

    (例如,您有一个页面包含您销售的每种尺寸和颜色的网球鞋)

    避免重复内容惩罚

    好吧,您不想因重复的内容而烦恼。

    但是,为你的红、蓝、绿和黄色版本的鞋子编写完全独特的内容也是没有意义的。

    答案是什么?

    Canonical标签

    这个标签告诉搜索引擎:

    “这个页面值得索引。其余的只是该页面的变体”。

    什么是规范标记规范标签的缺点是“变体页面”不会被索引。

    但最大的好处是您将避免代价高昂的重复内容惩罚。

    网址结构

    URL被严重低估了。

    事实上,大多数人在他们的URL中都采用了零思想。他们最终看起来像这样:

    url结构

    粗心的URL对用户不利(奇怪的URL很难记住)。

    搜索引擎也与冗长、令人困惑的URL作斗争。这是因为Google会查看您的URL(以及页面上的元标记和内容)来确定您页面的主题。

    因此,您要避免使用不描述您的页面的URL。

    https://website.com/cat=90/10/09/2019/pageref810a。

    相反,请使用为用户和搜索引擎提供页面主题线索的URL。这很容易记住。

    例如,对于这篇关于SEO技术的文章,URL是:

    简单的。

    页数有限

    如果我只能给人们一条SEO建议,那就是:

    限制您网站上的页面数量。

    为什么这很重要?两个原因……

    首先,更多页面=更多潜在问题。

    一个有100个页面的站点比一个有100,000个页面的站点更容易使用。

    拥有大量页面的网站更有可能遇到以下问题:

    其次,拥有一些很棒的页面的小型网站对SEO更友好。

    (至少根据谷歌

    谷歌更喜欢小而优的网站

    例如,我的网站每月有193,964名自然访问者:

    月自然流量访客数据

    一个很大的原因是没有发布很多填充内容。或具有相似内容的页面。

    事实上,网站总共只有128个索引页面:

    gsc索引页面

    很棒的用户体验

    谈到用户体验和搜索引擎优化,谷歌说得最好

    “您应该优化您的网站以满足用户的需求。其中一个用户是搜索引擎,它可以帮助其他用户发现您的内容。”

    您已经学会了如何针对Google和其他搜索引擎优化您的网站。

    现在是时候翻转脚本了。

    具体来说,我们将专注于为人类用户创造出色的用户体验。

    为什么这对SEO很重要?

    首先,谷歌密切测量所谓的“用户体验信号”。如果谷歌看到人们喜欢你的内容,它会在搜索结果中排名更高。

    rankbrain如何使用ux信号

    (这是由一个名为“RankBrain”的谷歌算法处理的)

    其次,如果您的网站很棒,会有更多人链接到它。

    (这是SEO的关键部分)

    有了这个,这里有3个技巧,可以为用户和Google创造出色的用户体验。

    移动优先设计

    现在63%的网站流量来自移动设备。

    移动端与桌面端的网络流量

    意思是:

    首先创建一个桌面站点是没有意义的……然后创建一个移动版本。

    相反,您想创建一个为移动设备制作的网站……然后担心桌面用户的需求。

    这对SEO也有好处。

    谷歌现在正在运行一个“移动优先索引”,它只查看你网站的移动版本。

    什么是移动优先索引

    如果您的网站针对移动设备进行了优化,那么您的网站就可以满足用户和Google的需求。

    描述性标题

    您的标题标签有两个主要目标:

    目标#1:描述你的页面是关于什么的。

    事实上,谷歌的质量评估指南说,“描述性或有用”的标题是高质量搜索结果的最重要部分之一。

    谷歌指南指出描述性标题很重要

    因此,您要避免使用“主页”或“联系人”等通用标题。

    例如,这是我主页的标题标签:

    提高搜索引擎排名的17个重要SEO技巧– 闪电博

    这为用户(和搜索引擎)提供了比通用标题(如“欢迎访问我的网站”)更多的信息。

    目标#2:在标题中使用目标关键字。

    谷歌非常重视你的标题标签。因此,请确保在标题中包含一次目标关键字。

    例如,这篇文章的目标关键字是“SEO工具:

    SEO工具文章截图

    所以我确保在我的标题中包含那个确切的短语:

    SEO工具文章标题

    再次:

    达到这两个目标将有助于您的网站访问者的呼吸。

    毕竟,包含人们搜索的关键字的描述性标题将帮助用户在您的网站上找到他们正在寻找的内容。

    使用副标题组织内容

    面对现实吧:

    这个星球上没有人愿意阅读一堵巨大的文字墙,就像这样:

    文字墙

    混杂在一起的内容使Google更难阅读和理解您的网页内容。

    这就是为什么您要将内容组织成离散部分的原因,如下所示:

    按节组织内容

    这让您的用户可以跳过并找到对他们最有帮助的部分。它还可以帮助 Google 了解您涵盖的所有子主题。

    例如,下面这篇文章是一步一步的SEO优化检查单

    SEO优化检查单文章截图

    如您所见,我使用H2子标题将我的内容分解为一堆不同的部分:

    文章使用H标题分章节

    事实上,Google建议您使用“使用标题标签来强调重要文本”并构建您的内容:

    谷歌建议使用标题标签来强调重要文本