当前位置:首页 > 网络科技 > WordPress自动将当前文章标签添加为关键词内链

WordPress自动将当前文章标签添加为关键词内链

9个月前 (08-25)admin网络科技20

在 WordPress 的文章内容中自动添加内部链接,比如对文章标签的引用。这不仅可以提高网站的 SEO 效果,也可以增强用户体验,使得用户更容易在你的网站上找到相关的内容。其实关于 WordPress 文章自动添加标签内链的文章并不在少数,而且几乎都是同一段代码,并且子凡我也一直都在使用,今天刚好想要针对网站内链做些优化,所有干脆连自动内链的功能都重写一下。

其实代码非常的简单,但是看上去代码可能偏多,其主要这个版本的代码会将 img、a、code 标签内的标签文本替换为一个特殊标记%&&&&&%,然后进行标签文本的替换,最后再将特殊标记替换回原来的标签文本。这样可以避免在这些标签内部替换标签文本。废话就不多说,直接上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//WordPress 文章标签自动内链
add_filter('the_content', 'fanly_auto_tags_link');
function fanly_auto_tags_link($content) {
	$tags = get_the_tags(); //获取当前文章的标签
	if($tags){
		foreach ($tags as $tag) {
			$link = get_tag_link($tag->term_id); //生成标签链接
			$tag_name = preg_quote($tag->name, '/'); //转义标签名
			//提前保护<a>、<img>、<code>标签内的内容
			$content = preg_replace_callback('/(<a[^>]*>)(.*?)(</a>)/si', function($matches) use ($tag_name) {
				return str_replace($tag_name, '%&&&&&%', $matches[0]);
			}, $content);
			$content = preg_replace_callback('/(<img[^>]*)(.*?)(' . $tag_name . ')(.*?)(>)/si', function($matches) use ($tag_name) {
				return str_replace($tag_name, '%&&&&&%', $matches[0]);
			}, $content);
			$content = preg_replace_callback('/(<code[^>]*>)(.*?)(</code>)/si', function($matches) use ($tag_name) {
				return str_replace($tag_name, '%&&&&&%', $matches[0]);
			}, $content);
			//替换内容中的标签文本为链接,限制替换次数为 1
			$content = preg_replace('/' . $tag_name . '/iu', '<a href="' . $link . '">' . $tag->name . '</a>', $content, 1);
			//恢复被保护的标签内的内容
			$content = str_replace('%&&&&&%', $tag_name, $content);
		}
	}
	return $content;
}

这段代码将会自动在文章内容中为每个标签创建一个链接。首先,它获取当前文章的所有标签,然后对于每个标签,生成一个到标签归档页面的链接。然后,它使用正则表达式查找内容中的标签文本,并将其替换为链接。这里,我们使用了 preg_replace_callback 函数来避免替换 HTML 标签内的内容。

看上去规范很多了,其实这只是一个简单的用法也是最偷懒的网站内链优化方式,但是由于每个人的使用场景不一样,所以提供一个基础的解决方案给大家参考吧,其实还可以进行一些增强甚至添加自定义链接。

更多关于WordPress优化及疑问可以添加留言

w.haolusi.com

本文链接:https://w.haolusi.com/wordpress-auto-tags-link.html

扫描二维码推送至手机访问。

版权声明:本文由豪鲁斯兴趣网发布,如需转载请注明出处。

本文链接:https://w.haolusi.com/?id=1524

标签: WordPress优化
分享给朋友:

“WordPress自动将当前文章标签添加为关键词内链” 的相关文章

尽早觉醒:找到自己一人能做的互联网生意

尽早觉醒:找到自己一人能做的互联网生意

没有经历过裁员的职场是不完美的。无论何种原因经历次裁员,可能对心智都是一次提升,前面也写过技术人怎么利用空窗期的文章技术人的空窗期,你的涅槃重生。经历过裁员的时候难免感到复杂和沉重。离开的背后,不仅有情感的波动,还有对未来的深深焦虑。当你被通知离职的那一刻,情绪复杂得难以描述。但是,当冷静下来,你会...

WordPress如何将管理员用户主页改为网站首页

WordPress如何将管理员用户主页改为网站首页

最近在做 WordPress 站群的一些项目测试,主题在调用作者的时候就会链接到作者主页,加上很多时候 WordPress 网站就只会使用一个账户来发布文章,虽然可以通过修改主题代码的方式将作者的链接直接链接到网站首页,但是作为一个优雅的 WordPress 开发者来说,肯定是不会轻易动主题源码的,...

WordPress标签实现追加自定义链接

WordPress标签实现追加自定义链接

WordPress 标签的用处说多不多,说少不少,其中利用 WordPress 标签做聚合页面优化是一种搜索引擎很喜欢的方式,或者说很多搜索引擎相比正文页面而言更喜欢抓取和收录标签页面,其次对于 WordPress 标签的作用就是用于文章关键词调用以及文章内链。那么今天子凡我我将利用几行代码来实现给...

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

最近可以说是站长们一片哀嚎,清明节前刚经历一次大的波动恢复没两天,让后百度又一次性的在清明节再次送走了,目前又开始缓慢的在恢复,但是似乎情况也并不是很妙。就在这时,百度搜索资源平台发布了一则“关于升级平台「快速收录」工具的通知”的公告,意思就是正式下线快速收录功能,换新上线一个叫做“快速抓取”的工具...

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

本篇文章目录|Table of Contents Hide ChatGPT 4.0/4o/3.5 镜像站列表ChatGPT镜像更新历史什么是Cha...

MySQL如何选择utf8mb4_general_ci和utf8mb4_0900_ai_ci字符集排序规则

MySQL如何选择utf8mb4_general_ci和utf8mb4_0900_ai_ci字符集排序规则

最近在做一些关于新项目的规划和测试,那么既然是要做新的项目当然首先要考虑的就是最新的技术标准,也把开发环境都统一升级了一遍,而在做 MySQL 数据库创建的时候就发现了一个小小的变化,本着对技术的执着那么就不得不来一探究竟。正式生产环境本着稳定高于一切的宗旨,所以也就不太可能做到数据库方面的升级保持...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。