Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WP-SEO插件的内部机制_Seo_Wordpress - Fatal编程技术网

WP-SEO插件的内部机制

WP-SEO插件的内部机制,seo,wordpress,Seo,Wordpress,这更多的是一个概念问题,但它有实际的影响 通过浏览各种SEO插件,我没有找到一个PHP标签,它应该嵌入到实际的HTML页面中,并响应元数据。那么它是如何工作的呢 仅仅将其保存到数据库似乎是不够的。插件向页面“注入”SEO数据的机制是什么?如果我在页面中有我自己的meta标签,它会覆盖插件吗?机制通常是wordpress的 这不是SEO插件所特有的,而是几乎所有改变实际内容的插件所特有的 简言之: 行动挂钩 动作挂钩是当WordPress内核本身、某个插件或主题为您提供一个特殊的“断点”以插入代码

这更多的是一个概念问题,但它有实际的影响

通过浏览各种SEO插件,我没有找到一个PHP标签,它应该嵌入到实际的HTML页面中,并响应元数据。那么它是如何工作的呢


仅仅将其保存到数据库似乎是不够的。插件向页面“注入”SEO数据的机制是什么?如果我在页面中有我自己的
meta
标签,它会覆盖插件吗?

机制通常是wordpress的

这不是SEO插件所特有的,而是几乎所有改变实际内容的插件所特有的

简言之:

行动挂钩

动作挂钩是当WordPress内核本身、某个插件或主题为您提供一个特殊的“断点”以插入代码以执行某些动作或在触发某个动作时更改某些内容时使用的设计

过滤器挂钩:

筛选器挂钩与操作挂钩非常相似,但它们所做的是接收一个值,并可能返回该值的修改版本

更新I

请看这个简单的示例(放入主题的function.php中)

add_filter( 'the_content', 'my_the_content_filter' );

function my_the_content_filter(){

echo ':::::: THIS CONTENT WILL BE ADDED TO ANY POST :::::';

}
或者这个:

add_filter( 'the_title', 'my_the_title_filter' );

function my_the_title_filter(){
echo ':::::: THIS CONTENT WILL BE ADDED TO ANY TITLE :::::';
}
更新II

但是,如果您的问题实际上是关于SEO如何工作,而不是插件本身: SEO是一个很大的主题,但简单地说,它是关于元标签、标题、描述、链接、rel等…这就是SEO插件正在改变的

他们改变了一些事情,比如-

  • 向图像添加自动描述和标题
  • 更改页面标题
  • 通过post添加元标记
  • 等等等等
..-但它们都使用上述
操作
过滤器
挂钩机制。事实上,您在代码中没有看到它,您不知道要查找什么


尝试在插件激活之前和之后保存页面源代码,然后对两者进行区分。您将看到差异…

感谢您的回答。虽然我对操作和过滤器的概念有点熟悉,这是一种干预Wordpress“生命周期”的方法,但我在查看页面源代码时确实看到了注入标记(例如,在创建元框时).SEO插件不是这样的。或者是这样吗?这完全相同,只是使用不同的挂钩和操作,一些是为前端设计的,一些是为“内容”操作的,可以是标题、元数据、边栏、实际帖子或其他任何东西,这才是您所指的真正的
源代码我已经发布了e链接,你会更好地理解。SEO插件在操作方式上与任何其他插件没有什么不同…例如,请参阅我的更新谢谢更新II,但我的问题是,事实上,即使激活了插件,我也看不到从服务器收到的HTML文档中的任何元标记。然后,要么插件不工作,要么您没有正确配置它,或者这个特定的插件不支持元标记。请查看不同的方面和插件。