Products
GG网络技术分享 2025-03-18 16:13 0
做过SEO网站优化的同仁,应该都有知道,搜索引擎们一般都比较喜欢静态的网站页面,因为,静态网页一直都是静静地呆在那个地方,等着它们来抓取,找起来非常的方便。而动态网页相对来说就比较麻烦,搜索引擎蜘蛛一旦爬进去,就可能会绕来绕去,半天出不出来。当然,现在的搜索引擎蜘蛛已经变得非常厉害了,对PHP动态网页也是可以顺利的爬取的。如:现在盛行的wordpress网站,对搜索引擎就非常友好,它就是用php代码所写的网站程序。
默认情况下,wordpress网站的URL都是带有“问号”等特殊符号的PHP动态链接(如下图),虽然现在的搜索引擎们也不再抵触这样的动态网页,但是URL的静态链接还是非常受搜索引擎们所青睐的,所以,作为一个wordpress新站长,如果想认真做站的话,建议还是给我们的wordpress网站的URL做好链接样式优化,这样,不仅有利于搜索引擎,而且,对用户来说,也是比较友好的。那么,怎样才能优化wordpress网站的URL链接呢?这个我们要分2步走,第一步:给我们的wordpress网站设置伪静态;第二步:在我们的wordpress网站后台设置固定链接。本章我们来介绍一下“如何设置wordpress伪静态”。
给wordpress网站设置伪静态,要先看看你的网站是什么类型的服务器。web网站服务器目前主要有3种:IIS、apache、nginx。下面,我们就针对这3种web服务器分别介绍伪静态的设置。
一、IIS服务器的伪静态设置。
IIS服务器是微软旗下的一款web服务器,它是运行在windows服务器系统上的。虽然windows系统占用网站服务器CPU、内存等资源比较高,但是,windows的易用性还是让一些菜鸟站长们选择了它。怎样给IIS服务器设置伪静态呢?
在根目录创建一个伪静态文件 httpd.ini ,然后,把下面的代码添加到这个 httpd.ini文件中。
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule /tag/(.*) /index\\.php\\?tag=$1
RewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
二、apache服务器的伪静态设置。
apache是一款小巧的web服务器,它运行于linux系统之上,在早期的web网站开发中,apache服务器与PHP开发语言、Mysql数据库组成最佳3人组合,深受PHP网站开发者们的喜爱和追捧。
要给apache服务器设置伪静态态,要先在网站的根目录创建一个 .htaccess 文件,然后,将下面的伪静态规则代码放到这个文件中。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
三、nginx服务器的伪静态设置。
nginx服务器相对于IIS服务器和apache服务器来说,就要年轻得多,是最近些年才出来的一个小巧的web服务器。nginx服务器一般也是运行在linux系统的服务器主机之上的。因为占用系统资源更加的少,而性能方面又更上一层楼,所以,现在的linux主机用户大多都会选择用nginx来作为自己网站的web服务器。
nginx服务器的伪静态设置相对来说要麻烦一些。一般情况下,要先在nginx的安装目录中找到 nginx.conf 文件,将下面的代码放进这个文件。
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
这个nginx.conf 配置文件一般情况下,在网站服务器的 /server/nginx-1.2.5/conf/ 目录里(如上图),nginx版本号不同时做相应的调整。当然,并不是所有的网站都是把上面的这个伪静态规则代码放到这个nginx.conf文件中,如:我们为网站服务器安装了宝塔后台页面板,我们就可以在宝塔后台的相应位置添加这个代码(如下图)。
通过上面的介绍,我们可以看出,这3种web服务器伪静态的设置方法是完全不一样的。所以,我们在给我们的wordpress网站设置伪静态时,一定要先看看我们的web服务器是什么类型的,是IIS服务器还是apache呢?只有做到对症下药,才能达到我们想要的效果。当然,只是设置伪静态,还不能让我们的wordpress网站的URL链接得到优化,伪静态只是设置了规则,我们还需要通过固定链接来执行这些设置的规则。如何设置固定链接,我们将在下一章中做详细介绍。
WordPress 3.0 引入了wp_favicon_request()来避免因每个favicon请求返回404错误页面而导致性能下降。尽管该函数可以按预期工作,但它没有提供足够的灵活性。
从WordPress 5.4开始,主题和插件作者可以使用以下逻辑更加灵活地管理favicon请求:
如果在外观-自定义中设置了“网站”图标,则将/favicon.ico请求重定向到该图标。
否则,请使用WordPress Logo作为默认图标。
如果/favicon.ico存在物理文件,则什么也不用做,让服务器处理该请求。
仅当WordPress安装在根目录中时,此逻辑才起作用。
通过这些更改,/favicon.ico现在的处理与/robots.txt请求更加一致。
倡萌建议:将你的 favicon.ico 图标上传到网站根目录,也就是 wp-config.php 文件所在的目录,一般就不会有什么问题。
新函数和钩子
WordPress 5.4引入了许多新功能和用于图标图标处理的钩子:
is_favicon()条件标签。类似于is_robots()。
do_favicon在模板加载器中使用的操作钩子。当模板加载程序确定网站图标请求时,将触发此钩子。和do_robots类似 。
do_favicon()功能,默认情况下已与上述操作挂钩一起,和do_robots()类似。
do_faviconico使插件和主题可以覆盖默认行为。显示收藏夹文件时将触发此挂钩。和动作do_robotstxt类似。
使用上述逻辑,使用以下代码do_favicon重定向到“网站图标”(如果存在),或重定向到WordPress Logo作为默认图标:
function do_favicon() {/**
* Fires when serving the favicon.ico file.
*
* @since 5.4.0
*/
do_action( \'do_faviconico\' );
wp_redirect( get_site_icon_url( 32, admin_url( \'images/w-logo-blue.png\' ) ) );
exit;
}
主题和插件开发人员可以使用do_faviconico钩子来覆盖默认行为。
弃用 wp_favicon_request()
wp_favicon_request()现在已弃用,请使用do_favicon()。
Demand feedback