将域名硬编码为Yoast SEO规范URL

时间:2014-05-20 作者:Gary

出于各种原因,我被要求跨多个子域复制wordpress博客。显然,这将导致重复的内容问题,我希望通过使用一个规范标记(指向单个子域(www))来缓解这一问题。

然而,我正在网站上使用Yoast SEO。这将自动生成规范标记,并似乎使用我当时所在的子域。大概它是从WP\\u SITEURL设置或类似的设置中获取的,但我必须首先修改它以允许多个子域。

我有没有办法强迫Yoast SEO对所有规范URL使用一个子域?我仍然需要站点上的所有链接和一般功能来利用其他子域(无论当前在哪个子域上),但规范应该始终指向单个子域。

请注意:重定向不是一个选项。

我认为最好的方法是使用Yoast SEO API,但我不熟悉它。我想我需要调整以下内容以包括我想要的子域,但我不确定将生成的URL的其余部分放在那里的语法。

add_filter( \'wpseo_canonical\', \'http://www.\' );

1 个回复
最合适的回答,由SO网友:Sisir 整理而成

下面是一个小插件,使用它,您应该能够替换另一个域的规范url的域。

<?php
/*
 * Plugin Name: WPSE WPSEO Canonical
 * Plugin URI: http://wordpress.stackexchange.com
 * Description: Changes canonical url domain.
 * Author: Sisir
 * Version: 1.0
 * Author URI: http://developerpage.net
 *
 **/

add_filter(\'wpseo_canonical\', \'swpseo_canonical_domain_replace\');
function swpseo_canonical_domain_replace($url){

    $domain = \'google.com\'; // this can be loaded from option table if you want admin to set it.
    $parsed = parse_url(home_url());
    $current_site_domain = $parsed[\'host\'];
    return str_replace($current_site_domain, $domain, $url);

}
注:代码未测试。如果不起作用,请告诉我

结束

相关推荐

wordpress theme: on site seo

我有一个网站没有得到我一直希望的流量(没有我拥有的其他网站那么多流量),我想知道这是否与主题有关。该网站是idolx(不是色情,但网站上有可爱女孩的照片,只是提醒一下)我应该改变主题吗或者,尝试优化它或者,仅仅是内容?如有任何想法、意见或建议,将不胜感激。PS:我不熟悉PHP/编码等。