IP 规范化 (WordPress)

Posted

技术标签:

【中文标题】IP 规范化 (WordPress)【英文标题】:IP Canonicalization (WordPress) 【发布时间】:2016-05-07 00:46:56 【问题描述】:

当我在我的网站上运行 SEO Site Checkup 时,我得到:

IP 规范化测试:您网站的 IP 不会重定向到您网站的域名。如果搜索引擎同时根据其 IP 和域名索引您的网站,这可能会导致重复内容问题。

我正在运行 Apache,建议将以下内容添加到我的 .htaccess 文件中:

RewriteCond %HTTP_HOST ^XXX\.XXX\.XXX\.XXX
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

使用this test,我发现我的站点有2个IP地址,所以我在重写引擎部分添加了两条规则。但该网站仍然未能通过测试。

我这样做对吗?这是我的 .htaccess 文件:

# BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
        AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
    <IfModule mod_mime.c>
        # DEFLATE by extension
        AddOutputFilter DEFLATE js css htm html xml
    </IfModule>
</IfModule>
# END W3TC Browser Cache
# BEGIN W3TC Page Cache core
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %HTTP:Accept-Encoding gzip
    RewriteRule .* - [E=W3TC_ENC:_gzip]
    RewriteCond %HTTP_COOKIE w3tc_preview [NC]
    RewriteRule .* - [E=W3TC_PREVIEW:_preview]
    RewriteCond %REQUEST_METHOD !=POST
    RewriteCond %QUERY_STRING =""
    RewriteCond %REQUEST_URI \/$
    RewriteCond %HTTP_COOKIE !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
    RewriteCond "%DOCUMENT_ROOT/wp-content/cache/page_enhanced/%HTTP_HOST/%REQUEST_URI/_index%ENV:W3TC_PREVIEW.html%ENV:W3TC_ENC" -f
    RewriteRule .* "/wp-content/cache/page_enhanced/%HTTP_HOST/%REQUEST_URI/_index%ENV:W3TC_PREVIEW.html%ENV:W3TC_ENC" [L]
</IfModule>
# END W3TC Page Cache core
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
RewriteCond %HTTP_HOST ^104\.24\.122\.248
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %HTTP_HOST ^104\.24\.123\.248
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
</IfModule>

# END WordPress

谢谢

【问题讨论】:

【参考方案1】:

您需要将这些行放在 WordPress 调度程序之前:

# BEGIN Redirect IP to domain name
<ifModule mod_rewrite.c>
    RewriteCond %HTTP_HOST ^104\.24\.122\.248 [OR]
    RewriteCond %HTTP_HOST ^104\.24\.123\.248
    RewriteRule (.*) http://www.londoncitymedia.com/$1 [R=301,L]
</IfModule>
# END Redirect IP to domain name

# BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
        AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
    <IfModule mod_mime.c>
        # DEFLATE by extension
        AddOutputFilter DEFLATE js css htm html xml
    </IfModule>
</IfModule>
# END W3TC Browser Cache

# BEGIN W3TC Page Cache core
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %HTTP:Accept-Encoding gzip
    RewriteRule .* - [E=W3TC_ENC:_gzip]
    RewriteCond %HTTP_COOKIE w3tc_preview [NC]
    RewriteRule .* - [E=W3TC_PREVIEW:_preview]
    RewriteCond %REQUEST_METHOD !=POST
    RewriteCond %QUERY_STRING =""
    RewriteCond %REQUEST_URI \/$
    RewriteCond %HTTP_COOKIE !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
    RewriteCond "%DOCUMENT_ROOT/wp-content/cache/page_enhanced/%HTTP_HOST/%REQUEST_URI/_index%ENV:W3TC_PREVIEW.html%ENV:W3TC_ENC" -f
    RewriteRule .* "/wp-content/cache/page_enhanced/%HTTP_HOST/%REQUEST_URI/_index%ENV:W3TC_PREVIEW.html%ENV:W3TC_ENC" [L]
</IfModule>
# END W3TC Page Cache core

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %REQUEST_FILENAME !-f
    RewriteCond %REQUEST_FILENAME !-d
    RewriteRule . /index.php [L]
</IfModule>
# END WordPress

【讨论】:

您正在使用 Cloud Flare。您看到的 IP 是 Cloud Flare 的 IP,而不是您的 IP。您的真实 IP 是 213.171.193.5 女巫无法访问。然后你就没有什么可做的了。 谢谢弗洛里安。这是否意味着我对 SEO 分数无能为力?我可以访问 CloudFlare。里面有什么我可以做的吗? 你无事可做。你通过了这个测试,因为你的真实 IP 无法访问,但是这个工具缺乏像 Cloud Flare 这样的 CDN 检测能力。这是这个工具的问题,而不是您的 SEO 的问题 ;) 非常感谢,真的解决了我的问题:* 我真的很担心,因为我的网站的 IP 地址也被云闪现更改了,我正在检查如何修复它。谢谢大佬。

以上是关于IP 规范化 (WordPress)的主要内容,如果未能解决你的问题,请参考以下文章

Atitit cms wordpress get_post  返回的WP_Post 规范 标准化

www 的域 IP 地址和规范 URL 的非 www 的域 IP 地址

Nmap IP 范围规范

ip命令规范

规范白盒生态 S³IP助力未来可预期服务网络

MODBUS TCP/IP协议规范详细介绍