WordPress标签页固定连接以.html结尾
日期:
标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务: 点此联系我
文章目录
昨天有网友给我留言,想让tag标签页的URL后面自动加html,比如 www.abc.com/tag/1,变成www.abc.com/tag/1.html。这或许是出于某种SEO目的,不过我觉得这样做没什么意义。
实现这个目的的方法还是比较简单的,只是标签页是存档页,需要分页,分页后的链接形式为tag/1.html/page/2,就无法实现以.html为结尾,虽然我不懂什么SEO,但是我觉得这样的链接不好看。昨晚为了这个问题弄了一个晚上也没找到什么好的方法,这里就讲讲不太完美的方法吧,不过这里要说明的是,首先你的WP得使用固定链接。
一、链接转换代码
使用文本编辑器打开当前主题目录下的functions.php,添加以下php代码:
// applied when calling get_tag_link()
add_filter('tag_link', 'ludou_html_tag_link', 10, 2);
/**
* tag页链接转换,将 /tag/tag-name/ 转成 /tag/tag-name.html
*/
function ludou_html_tag_link($tag_link, $tag_id) {
return rtrim($tag_link, '/') . '.html';
}
二、添加rewrite规则
使用文本编辑器打开博客根目录下的.htaccess,也就是存放你的WordPress固定链接重写规则的文件。在 RewriteBase /
下一行添加以下代码:
RewriteRule ^tag/(.+)\.html$ /index.php?tag=$1 [L]
RewriteRule ^tag/(.+)\.html/page/([0-9]+)$ /index.php?tag=$1&paged=$2 [L]
需要注意的是,如果你的标签页URL不是以tag开头,那么你需要将以上代码中tag改成你的标签前缀。另外.htaccess中不一定有 RewriteBase /
这一行代码,例如你将WordPress安装在子目录wp,那么这一行代码可能就是这样 RewriteBase /wp/
三、参考内容
WordPress Permalinks: Remove tag base and add the .html extension
-- 完 --
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wordpress-tag-url-end-in-html.html
去试试,谢谢~~
恩,good way
tag页翻页的考虑呢?比如 https://www.ludou.org/tag/wordpress/2,可能就是 https://www.ludou.org/tag/wordpress.html/2 了
@sein 没有下文..
文章的链接后缀从固定链接自定义以html结尾了,其他的就没管。
其实这是哪门子的SEO 呵呵呵 有些人就是闲着没没事 不好好弄内容 天天SEO的 辛苦老大了
@倡萌 闲着没事,研究一下WordPress也未尝不可。
确实没什么意义,只是看起来好看而已罢了
的确没什么意思。。。
那帖子我看了,真无聊
伤感的固定链接,建站2年后想改,改得都累死了。。
如果想在页面文章底部做一个 反馈问题的功能,能做到吗?比如说谋篇文章出问题了,但文章数太多。只能靠用户发现问题然后反馈看不了 或是其他问题。假如文章中有视频看不到或是图片显示不到,就可以点击文章底部的 反馈给站长。非注册用户都能反馈的,可能还需要验证码吧? 博主能帮助下吗?
@fengkox 反馈问题可以换个角度,弄个链接加#标识,点击定位到评论框,用户就知道怎么做了。如反馈问题
有时间折腾一下!
问题是对于关闭了评论功能的,就不能实现了。
果断回访。嘿嘿。这个固定链接我用的就是自定义的,html结尾的。
@君说 不过标签页不是
想了一下,example.com/tag:XX/
这样就行了吧,标签这个东西时候都会跟着数据而改变,改成.html从思想上来讲,就已经不自然了。
我跟你这个网页url一样,就是中间多了个日期格式,而且是“/”结尾, 我怎么加html在末尾呢
@yueyueniao 固定链接,选择自定义结构,后面加.html
@Ludou 噢,好的,谢谢!
由于看了很多文章,感觉Ludou好像很厉害很了解WP,没有实现不了的功能,因此就大胆的在这提出Ludou
能否帮我们下。我们也知道一些插件是站点可以实现,但是因为有些特定需要,所以一定要让用户在本站注册成订阅者或者投稿者,在后台才可以看见自己收藏文章有哪些,
不知道Ludou大神 愿不愿意。。。
@Ludou fans 抱歉,不懂。
就是这样的 不过他开发不出来
新手求教:
在调用文章发布日期时使用<?php the_date(get_option('dateformat')); ?>出现如下问题:
1、当一个页面中存在同一天发布的两篇文章时,只有最新的一篇才会显示“文章发布日期”,而较老的那篇就没有显示。
2、问题延伸:同时调用the_date和the_time,最新的一篇才会显示“文章发布日期及时间”,较老的那篇只会显示“文章发布时间”,同样不显示“文章发布日期”
@haran 见以下文档中的特殊说明:http://codex.wordpress.org/Function_Reference/the_date
SPECIAL NOTE: When there are multiple posts on a page published under the SAME DAY, the_date() only displays the date for the first post (that is, the first instance of the_date()).
你可以使用 get_the_date() 函数代替:
<?php echo get_the_date(get_option('dateformat')); ?>
写的不错 学些了!!楼主的博客主题制作教程多发布点呗!!呵呵!!
其实我猜他并不是要达到SEO的目的,而是有一款插件(好像叫cos-html-cache)只能缓存以html结尾的页面。那款插件其实挺不错的。不过想请教一个问题,如何给搜索结果也加上html?修改上面的就可以了吗?
文章的链接后缀从固定链接自定义以html结尾
据说Html有利于SEO
学习下,不过标签这玩意还真不太需要这个。
请老大帮个忙 写个htaccess 规则,那些规则实在不懂,弄了好久还是搞不出来,不得不求助老大了
我装了一个bbpress,静态链接是直接显示标题名称的,生成的链接就是那种类似乱码似的,太繁琐。
论坛总连接
http://127.0.0.1/?post_type=forum
静态化是http://127.0.0.1/forums
单个板块链接
http://127.0.0.1/?forum=板块名称
静态化后是http://127.0.0.1/forums/slug/板块名称
以上两个并不影响,因为名称自己可以该成英文的自定义链接
头疼的是帖子链接,
帖子链接:http://127.0.0.1/?topic=帖子名称
显示成这样了:http://127.0.0.1/?topic=%E4%B8%BB%E9%A2%984-%E7%BD%AE%E9%A1%B6-%E7%9A%84
静态化的结果是:http://127.0.0.1/forums/topic/板块名称/帖子名称
同样是乱码的
求助问题是:
请老大帮忙写个htaccess 规则
将帖子链接静态化成http://127.0.0.1/forums/topic/板块名称/帖子id
谢谢了
@realhood 抱歉,这个我帮不上忙
@Ludou 谢谢
改一次固定链接被百度拨一次毛,伤不起。