Products
GG网络技术分享 2025-03-18 16:14 1
一、为什么要对WordPress进行固定链接设置?
答案不言之明,在SEO时代,主要的目的是为了更好看的网址URL和SEO。对搜索引擎友好的永久链接可以更受搜索引擎的欢迎,同时也能为网站带来流量和排名。固定链接其本质是伪静态。
二、WordPress固定链接如何设置?
登录到WordPress后台,然后点击左侧工具栏菜单Setting(设置)-》Permalink Setting(固定链接),如下图:
如果选择默认提供的几项,那就不需要再看这篇文章了。这固定链接的意义就在于最后一项“自定义网址结构”,英文版则是Custom Structure。
三、哪些固定链接设置比较实用?
博客建议下面几种形式之一:
/archives/%postname%.html
/archives/%post_id%.html
/%postname%.html
企业或资讯类的站建议用如下形式之一
/%cagtegory%/%postname%.html
/%category%/%post_id%.html
这样一设置,看上去网页是静态页(假的),实际上伪静态,主要是让搜索引擎易于识别和抓取。
四、WordPress永久链接的几点事项
最好不要在URL中出现中文
设置为伪静态URL格式时是否带.html等扩展名,看个人爱好。
链接深度不要太多,最好不要超过三级。
是否使用post_id也要看个人爱好了,因为WordPress跟zblog还 不同,自动保存草稿、页面等都保存在一个数据表中,所以这个ID是不连续的,所以博客路径看起来很不爽。
永久链接在博客建立之初就需设置好,一经设置(特别是网站内容被收录后)就最好别动了。
一般而言,WordPress本身会对英语用户的体验进行优化,例如默认模板的分隔符永远都是“|”,因为英文单词以空格空开,要区分两个单词不可能用“-”,因此“|”是最好的选择。同样,为了让URL更符合浏览器解析和用户的识别,wordpress默认会将标题中的英文大写字母lower到小写。
然而对于中文网站来说,这或许不是一件很好的是,如果要在URL中使用中文,那么使用大写也是常有的,这里提供一种取消wordpress自动降级字母大写的方法。
remove_filter( \'sanitize_title\', \'sanitize_title_with_dashes\' ); add_filter( \'sanitize_title\', \'use_capital_letter_in_slug\' ); function use_capital_letter_in_slug($title) { $title = strip_tags($title); // Preserve escaped octets. $title = preg_replace(\'|%([a-fA-F0-9][a-fA-F0-9])|\', \'---$1---\', $title); // Remove percent signs that are not part of an octet. $title = str_replace(\'%\', \'\', $title); // Restore octets. $title = preg_replace(\'|---([a-fA-F0-9][a-fA-F0-9])---|\', \'%$1\', $title);</p> <p> $title = remove_accents($title); if (seems_utf8($title)) { //if (function_exists(\'mb_strtolower\')) { // $title = mb_strtolower($title, \'UTF-8\'); //} $title = utf8_uri_encode($title, 200); }</p> <p> //$title = strtolower($title); $title = preg_replace(\'/&.+?;/\', \'\', $title); // kill entities $title = str_replace(\'.\', \'-\', $title); // Keep upper-case chars too! $title = preg_replace(\'/[^%a-zA-Z0-9 _-]/\', \'\', $title); $title = preg_replace(\'/\\s+/\', \'-\', $title); $title = preg_replace(\'|-+|\', \'-\', $title); $title = trim($title, \'-\');</p> <p> return $title; } |
将上面的代码拷贝到你的主题文件functions.php中,它即可取消wordpress对postname的格式化,同样,它也对分类、标签等的别名起作用。
Demand feedback