WordPress固定链接伪静态设置图文教程
在默认情况下,刚安装的WordPress的所有网页,都带“问号”的PHP动态链接,虽然搜索引擎不抵触动态页面,但是静态页面依然是现在网站的主流。
WordPress由于是PHP系统,所以不能完美静态化,只可以实现伪静态化,,并且只针对文章,其它页面、存档、日期的页面不可以伪静态化。
另外需要用WordPress来搭建个人网站的可以参考文档
伪静态化后更容易被各大搜索引擎收录、增加权重,另外,拼音或英文的后缀还能增强网站访问体验。修改步骤:登录网站后台→设置→固定链接→自定义结构,输入展示代码,可以显示不同的链接,展示方式可以自己选择。
一、自定义WordPress链接后缀
1、先了解固定链接形式的组成,这些代码可以单独使用,也可以结合使用,直接复制小括号前的代码到自定义固定链接中保存即可后缀可以由下列参数组合。
%year% (年份,四位数字) %monthnum% (月份) %day% (当日) %hour% (小时) %minute% (分钟) %second% (秒) %postname% (页面别名) %post_id% (序列数字) %category% (分类别名) %author% (作者名)
2、相对来说,百度更喜欢html、htm后缀的页面,现在IP过万的WordPress博客都使用了htm后缀的伪静态化,百度、Google权重都到了7,可见修改固定链接是很有必要的。
自从Google淡出中国市场,百度成为一家独大,无数的网站基本都是靠百度吃饭的。国内的各大搜索引擎都声明可以正常收录动态链接,但是由于互联网最原始的网页设计都是html、htm,切搜索引擎本身的站点都是静态页面,所以种种原因使得众多站长把网站静态化。从优化角度来说,/%postname%.html是最适合做关键词排名的。
/%postname%.html /%postname%/ /%post_id%.html
3、不过Google喜欢/%postname%/的页面,/%postname%/在英文博客中非常多见,这种固定链接方式是最利于优化英文关键词的,百度对于英文词的后缀给予很好的排名。
/%year%/%monthnum%/%day%/%postname%/(年/月/日/日志名) /%year%/%monthnum%/%postname%/(年/月/日志名) /%monthnum%/%day%/%postname%/(月/日/日志名) /%year%/%monthnum%/%day%/%post_id%/(年/月/日/日志id号) /%year%/%monthnum%/%post_id%/(年/月/日志id号) /%monthnum%/%day%/%post_id%/(月/日/日志id号) /archives/%post_id%(/archives/日志id号) /archives/%postname%(/archives/日志名) /%post_id%(日志id号) /%postname%(日志名)
二、虚拟主机伪静态规则
修改WordPress固定链接伪静态化后,网页却打不开,出现这种情况这是因为缺少伪静态规则。
WordPress固定链接伪静态化设置规则,是根据你主机环境来决定的,不需要插件,网上运行的wordpress无非IIS/Apache/Nginx这三种环境。
WordPress固定链接伪静态化设置技巧多种多样,需要对号入座。如果使用的是虚拟主机,大多数的IDC服务商,都支持wordpress伪静态,直接在后台修改固定链接设置即可。
1、Linux服务器环境
请确保你的根目录开启了777权限,已开启的话,在修改自定义固定链接后的瞬间,会在主机根目录自动生成一个.htaccess的文件,打开查看是否已生成规则,生成的话,就OK了,就不需要往下看了。
如果没有生成.htaccess,或者.htaccess里没有内容,那就需要手动创建一个txt文件,使用上传软件修改名为 .htaccess,粘贴Apache或Nginx规则代码,保存并上传到网站根目录就行了。
Apache规则
<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规则
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; } }
2、Windows主机IIS环境下伪静态规则
你使用的windows主机必须安装了装Rewrite 组件才能支持伪静态,咨询下你的主机商所使用的主机是否支持伪静态,支持的话请继续往下看。
如果主机支持伪静态,在修改wordpress固定链接后无法伪静态,在根目录自动生成一个httpd.ini,没有生成的话,就创建一个txt文本,修改名字为httpd.ini,复制粘贴下边代码,保存上传到根目录。
ISAPI_Rewrite # Defend your computer from some worm attacks #RewriteRule .*(?:global.asa|default.ida|root.exe|..).* . F,I,O # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through 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
PS:
如果你不知道所使用的主机是什么系统,或使用的Linux或Windows系统的VPS主机,不会配置伪静态规则,可以咨询你的空间商,他们会帮助你实现wordpress伪静态,虽然设置了伪静态,只是展示的伪静态后缀,其实还是动态页面,如果想完全静态页面,可以安装WP Super Cache或者Hyper Cache插件,为全站生成静态页面缓存。
原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。