web-dev-qa-db-ja.com

HTTPヘッダーからrel = shortlinkを削除します。

私のサイト上の投稿のHTTPヘッダーは次のようになります。

accept-ranges:bytes
cache-control:public, max-age=0,public,public
content-encoding:gzip
content-length:5369
content-type:text/html; charset=UTF-8
date:Fri, 08 Dec 2017 07:27:40 GMT
expires:Fri, 08 Dec 2017 07:19:33 GMT
link:<https://example.com/?p=5697>; rel=shortlink
server:Apache
status:200
vary:Accept-Encoding

HTTPヘッダーの応答からこの行を削除する方法:

link:<https://example.com/?p=5697>; rel=shortlink

これをHTMLの<head> </head>セクションと混同しないでください。すでに削除しています。HTTPヘッダー応答からも削除したいと思います。

1
Advanced SEO
<?php
add_filter('after_setup_theme', 'remove_redundant_shortlink');

function remove_redundant_shortlink() {
    // remove HTML meta tag
    // <link rel='shortlink' href='http://example.com/?p=25' />
    remove_action('wp_head', 'wp_shortlink_wp_head', 10);

    // remove HTTP header
    // Link: <https://example.com/?p=25>; rel=shortlink
    remove_action( 'template_redirect', 'wp_shortlink_header', 11);
}

WordPress 4.4および最大4.9.1でテスト済み

7
Max Yudin