{"id":10355,"date":"2026-03-27T15:07:41","date_gmt":"2026-03-27T06:07:41","guid":{"rendered":"https:\/\/randyapps.com\/?post_type=blog&#038;p=10355"},"modified":"2026-03-27T15:07:41","modified_gmt":"2026-03-27T06:07:41","slug":"10355","status":"publish","type":"blog","link":"https:\/\/randyapps.com\/ja\/blog\/10355","title":{"rendered":"\u3010WordPress\u3011qTranslate-XT\u74b0\u5883\u3067\u300cThe SEO Framework\u300d\u306e\u591a\u8a00\u8a9e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u6b63\u5e38\u5316\u3059\u308b\u65b9\u6cd5"},"content":{"rendered":"<p><\/p>\n<p>\u3053\u308c\u307e\u3067\u5f53\u30b5\u30a4\u30c8\u3067\u306f\u3001\u591a\u8a00\u8a9e\u5316\u30d7\u30e9\u30b0\u30a4\u30f3\u300cqTranslate-XT\u300d\u3092\u4f7f\u7528\u3057\u3066\u65e5\u672c\u8a9e\u3068\u82f1\u8a9e\u306e\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u3066\u304d\u307e\u3057\u305f\u304c\u3001SEO\u95a2\u9023\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u306f\u4e00\u5207\u5165\u308c\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br \/>\n\u30b5\u30a4\u30c8\u306e\u6700\u9069\u5316\u3092\u76ee\u6307\u3057\u3001\u8efd\u91cf\u3067\u8a55\u5224\u306e\u826f\u3044\u300cThe SEO Framework\u300d\u3092\u5c0e\u5165\u3057\u3066\u307f\u305f\u306e\u3067\u3059\u304c\u3001\u591a\u8a00\u8a9e\u74b0\u5883\u306a\u3089\u3067\u306f\u306e\u58c1\u306b\u3076\u3064\u304b\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001qTranslate-XT\u3068The SEO Framework\u3092\u4f75\u7528\u3057\u305f\u969b\u306e\u4e0d\u5177\u5408\u3092\u3001<code>functions.php<\/code>\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u89e3\u6c7a\u3057\u305f\u969b\u306e\u5b9f\u8df5\u7684\u306a\u65b9\u6cd5\u3092\u5099\u5fd8\u9332\u3068\u3057\u3066\u307e\u3068\u3081\u307e\u3059\u3002<\/p>\n<h2>1. \u767a\u751f\u3057\u305f\u554f\u984c\uff1a\u30e1\u30bf\u30c7\u30fc\u30bf\u306b\u82f1\u8a9e\u30bf\u30b0(&#91;:en&#93;)\u304c\u305d\u306e\u307e\u307e\u51fa\u529b\u3055\u308c\u308b<\/h2>\n<p>The SEO Framework\u3092\u6709\u52b9\u5316\u3057\u3066\u78ba\u8a8d\u3057\u305f\u3068\u3053\u308d\u3001\u65e5\u672c\u8a9e\u30da\u30fc\u30b8\u306e <code>meta description<\/code> \u306b <code>&#91;:en&#93;English description...&#91;:ja&#93;\u65e5\u672c\u8a9e\u306e\u8aac\u660e...&#91;:&#93;<\/code> \u3068\u3044\u3046\u8a00\u8a9e\u30bf\u30b0\u304c\u305d\u306e\u307e\u307e\u51fa\u529b\u3055\u308c\u3066\u3057\u307e\u3046\u72b6\u614b\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u308c\u306f\u5358\u7d14\u306b\u3001<strong>The SEO Framework \u304c qTranslate-XT \u306e\u72ec\u81ea\u30bf\u30b0\uff08<code>&#91;:en&#93;<\/code>\u306a\u3069\uff09\u3092\u8a8d\u8b58\u3067\u304d\u305a\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\u3055\u308c\u305f\u751f\u306e\u30c6\u30ad\u30b9\u30c8\u3092\u305d\u306e\u307e\u307e\u51fa\u529b\u3057\u3066\u3057\u307e\u3046\u3053\u3068<\/strong>\u304c\u539f\u56e0\u3067\u3059\u3002qTranslate-XT \u306e\u7ffb\u8a33\u51e6\u7406\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u307e\u307e\u3067\u306f The SEO Framework \u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u9818\u57df\u306b\u306f\u9069\u7528\u3055\u308c\u307e\u305b\u3093\u3002<\/p>\n<h2>2. WPSSO\u306e\u691c\u8a0e\u3068\u3001The SEO Framework\u3078\u306e\u3053\u3060\u308f\u308a<\/h2>\n<p>\u3053\u306e\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u3001\u591a\u8a00\u8a9e\u5bfe\u5fdc\u304c\u624b\u539a\u3044\u300cWPSSO\u300d\u3068\u3044\u3046\u5225\u306eSEO\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u5c0e\u5165\u3082\u691c\u8a0e\u3057\u307e\u3057\u305f\u3002WPSSO\u306fqTranslate-XT\u306b\u3082\u6a19\u6e96\u3067\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u3068\u306e\u3053\u3068\u3067\u3001\u975e\u5e38\u306b\u9b45\u529b\u7684\u306a\u9078\u629e\u80a2\u3067\u3057\u305f\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001\u3059\u3067\u306bThe SEO Framework\u306e<strong>\u300c\u5727\u5012\u7684\u306a\u52d5\u4f5c\u306e\u8efd\u3055\u300d\u3068\u300c\u30b7\u30f3\u30d7\u30eb\u306a\u8a2d\u5b9a\u300d<\/strong>\u306b\u9b45\u4e86\u3055\u308c\u3066\u3044\u305f\u79c1\u306f\u3001\u3069\u3046\u3057\u3066\u3082\u3053\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u307e\u307e\u554f\u984c\u3092\u30af\u30ea\u30a2\u3067\u304d\u306a\u3044\u304b\u3068\u6a21\u7d22\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u3053\u3067\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4e57\u308a\u63db\u3048\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u81ea\u529b\u3067 <code>functions.php<\/code> \u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u3066\u3001The SEO Framework\u306e\u51fa\u529b\u306bqTranslate-XT\u306e\u7ffb\u8a33\u51e6\u7406\u3092\u5272\u308a\u8fbc\u307e\u305b\u308b\u9053\u3092\u9078\u3073\u307e\u3057\u305f\u3002<\/p>\n<h2>3. \u3010\u524d\u63d0\u6761\u4ef6\u3011\u81ea\u4f5c\u30c6\u30fc\u30de\u3084\u5b50\u30c6\u30fc\u30de\u3067\u306e\u4f5c\u696d\u3092\u63a8\u5968<\/h2>\n<p>\u3053\u3053\u304b\u3089\u306e\u89e3\u6c7a\u7b56\u306f <code>functions.php<\/code> \u306b\u76f4\u63a5\u30b3\u30fc\u30c9\u3092\u8ffd\u8a18\u3057\u3066\u3044\u304f\u5f62\u306b\u306a\u308a\u307e\u3059\u3002\u8a18\u8ff0\u3092\u5c11\u3057\u3067\u3082\u9593\u9055\u3048\u308b\u3068\u30b5\u30a4\u30c8\u304c\u771f\u3063\u767d\u306b\u306a\u308b\uff08Fatal Error\u306b\u306a\u308b\uff09\u30ea\u30b9\u30af\u304c\u3042\u308b\u305f\u3081\u3001<strong>\u81ea\u8eab\u3067\u30c6\u30fc\u30de\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u3044\u308b\u74b0\u5883\u3001\u3082\u3057\u304f\u306f\u5b50\u30c6\u30fc\u30de\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u74b0\u5883<\/strong>\u306e\u65b9\u306b\u304a\u3059\u3059\u3081\u3057\u307e\u3059\u3002<\/p>\n<p>\u5fc5\u305a\u4e8b\u524d\u306b\u30d5\u30a1\u30a4\u30eb\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u53d6\u3063\u3066\u304b\u3089\u4f5c\u696d\u3092\u884c\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>4. \u89e3\u6c7a\u7b56\uff1afunctions.php\u3078\u306e\u30b3\u30fc\u30c9\u8ffd\u8a18<\/h2>\n<p>\u8a66\u884c\u932f\u8aa4\u306e\u7d50\u679c\u3001\u51e6\u7406\u3092\u300c\u30c6\u30ad\u30b9\u30c8\u7528\u300d\u3068\u300c\u753b\u50cf\u7528\u300d\u306e2\u3064\u306b\u30b9\u30c3\u30ad\u30ea\u307e\u3068\u3081\u3001\u8868\u793a\u901f\u5ea6\u3092\u843d\u3068\u3059\u3053\u3068\u306a\u304f\u6b63\u5e38\u306b\u30e1\u30bf\u30bf\u30b0\u3092\u51fa\u529b\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<h3>\u2460 \u30c6\u30ad\u30b9\u30c8\u95a2\u9023\u306e\u4fee\u6b63\uff08\u30bf\u30a4\u30c8\u30eb\u3001\u30c7\u30a3\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3001\u629c\u7c8b\u306a\u3069\uff09<\/h3>\n<p>\u307e\u305a\u306f\u3001\u6700\u7d42\u51fa\u529b\u3055\u308c\u308b\u30c6\u30ad\u30b9\u30c8\u3084\u3001The SEO Framework\u304c\u6587\u5b57\u6570\u3092\u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u524d\u306e\u30c7\u30fc\u30bf\u306b\u5bfe\u3057\u3066\u3001\u4e00\u62ec\u3067\u7ffb\u8a33\u51e6\u7406\uff08\u73fe\u5728\u306e\u8a00\u8a9e\u306e\u5207\u308a\u629c\u304d\uff09\u3092\u9069\u7528\u3059\u308b\u30b3\u30fc\u30c9\u3067\u3059\u3002<\/p>\n<pre><code>\/**\r\n * ====================================================================\r\n * The SEO Framework \u3068 qTranslate-XT \u306e\u9023\u643a\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\r\n * ====================================================================\r\n *\/\r\n\r\n\/**\r\n * 1. \u30c6\u30ad\u30b9\u30c8\u95a2\u9023\u306e\u7ffb\u8a33\u51e6\u7406\uff08\u30bf\u30a4\u30c8\u30eb\u3001\u30c7\u30a3\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3001\u629c\u7c8b\u306a\u3069\uff09\r\n *\/\r\nfunction my_tsf_qtranslate_apply_translation( $text ) {\r\n    \/\/ qTranslate-XT \u304c\u6709\u52b9\u3001\u304b\u3064\u30c6\u30ad\u30b9\u30c8\u304c\u7a7a\u3067\u306f\u306a\u3044\u5834\u5408\u306e\u307f\u7ffb\u8a33\u51e6\u7406\u3092\u5b9f\u884c\u3059\u308b\r\n    if ( function_exists( 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) &amp;&amp; ! empty( $text ) ) {\r\n        return qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage( $text );\r\n    }\r\n    return $text;\r\n}\r\n\r\n\/\/ \u7ffb\u8a33\u51e6\u7406\u3092\u5272\u308a\u8fbc\u307e\u305b\u308b The SEO Framework \u306e\u4ecb\u5165\u30dd\u30a4\u30f3\u30c8\uff08\u30d5\u30c3\u30af\uff09\u3092\u4e00\u89a7\u306b\u3059\u308b\r\n$tsf_text_filters = array(\r\n    \/\/ --- \u6700\u7d42\u51fa\u529b\u3055\u308c\u308b\u30c7\u30fc\u30bf ---\r\n    'the_seo_framework_custom_field_description',\r\n    'the_seo_framework_generated_description',\r\n    'the_seo_framework_description_output',\r\n    'the_seo_framework_title_from_custom_field',\r\n    'the_seo_framework_title_from_generation',\r\n    'the_seo_framework_title_output',\r\n    \r\n    \/\/ --- OGP\u30fbTwitter\u30ab\u30fc\u30c9\u95a2\u9023\uff08SNS\u30b7\u30a7\u30a2\u7528\u30c6\u30ad\u30b9\u30c8\uff09 ---\r\n    'the_seo_framework_ogtitle_output',\r\n    'the_seo_framework_ogdescription_output',\r\n    'the_seo_framework_twittertitle_output',\r\n    'the_seo_framework_twitterdescription_output',\r\n    \r\n    \/\/ --- \u56fa\u5b9a\u30da\u30fc\u30b8\u7b49\u306e\u629c\u7c8b\u304c\u6587\u5b57\u6570\u3067\u30c8\u30ea\u30df\u30f3\u30b0\u3055\u308c\u308b\u524d\u306e\u5143\u30c7\u30fc\u30bf ---\r\n    'the_seo_framework_get_excerpt',\r\n    'the_seo_framework_description_excerpt',\r\n    'the_seo_framework_fetched_description_excerpt',\r\n);\r\n\r\n\/\/ \u4e0a\u8a18\u306e\u30ea\u30b9\u30c8\uff08\u914d\u5217\uff09\u3092\u30eb\u30fc\u30d7\u51e6\u7406\u3057\u3066\u3001\u4e00\u6c17\u306b\u7ffb\u8a33\u6a5f\u80fd\u3092\u9069\u7528\u3059\u308b\r\nforeach ( $tsf_text_filters as $filter ) {\r\n    add_filter( $filter, 'my_tsf_qtranslate_apply_translation', 10, 1 );\r\n}<\/code><\/pre>\n<h3>\u2461 OGP\u753b\u50cf\uff08\u30bd\u30fc\u30b7\u30e3\u30eb\u753b\u50cf\uff09\u62bd\u51fa\u5143\u306e\u4fee\u6b63<\/h3>\n<p>\u6b21\u306b\u3001SNS\u3067\u30b7\u30a7\u30a2\u3055\u308c\u305f\u969b\u306e\u753b\u50cf\uff08<code>og:image<\/code> \u7b49\uff09\u3082\u3001\u73fe\u5728\u306e\u8a00\u8a9e\u306e\u672c\u6587\u30d6\u30ed\u30c3\u30af\u304b\u3089\u62bd\u51fa\u3059\u308b\u3088\u3046\u306b\u4fee\u6b63\u3057\u307e\u3059\u3002<\/p>\n<pre><code>\/**\r\n * 2. \u753b\u50cf\u95a2\u9023\u306e\u62bd\u51fa\u51e6\u7406\uff08\u73fe\u5728\u306e\u8a00\u8a9e\u306e\u753b\u50cf\u3092\u512a\u5148\u3055\u305b\u308b\uff09\r\n *\/\r\nfunction my_tsf_qtranslate_image_generator( $params, $args, $context ) {\r\n    \/\/ \u30bd\u30fc\u30b7\u30e3\u30eb\u753b\u50cf\uff08og:image, twitter:image \u7b49\uff09\u306e\u751f\u6210\u6642\u306e\u307f\u5b9f\u884c\u3059\u308b\r\n    if ( 'social' !== $context ) {\r\n        return $params;\r\n    }\r\n\r\n    \/\/ \u8a18\u4e8b\u3084\u56fa\u5b9a\u30da\u30fc\u30b8\u3092\u8868\u793a\u3057\u3066\u3044\u308b\u5834\u5408\u306e\u307f\u4ecb\u5165\u3059\u308b\r\n    if ( null === $args &amp;&amp; is_singular() ) {\r\n        $new_cbs = array();\r\n        \r\n        \/\/ TSF \u304c\u6301\u3063\u3066\u3044\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u753b\u50cf\u691c\u7d22\u30eb\u30fc\u30eb\u3092\u30eb\u30fc\u30d7\u51e6\u7406\r\n        foreach ( $params['cbs'] as $key =&gt; $cb ) {\r\n            \/\/ 'content' (\u672c\u6587\u304b\u3089\u306e\u81ea\u52d5\u62bd\u51fa) \u306e\u76f4\u524d\u306b\u3001\u72ec\u81ea\u306e\u7ffb\u8a33\u62bd\u51fa\u30eb\u30fc\u30eb\u3092\u5272\u308a\u8fbc\u307e\u305b\u308b\r\n            if ( $key === 'content' ) {\r\n                $new_cbs['qtranslate_content'] = 'my_tsf_qtranslate_image_yield';\r\n            }\r\n            $new_cbs[ $key ] = $cb;\r\n        }\r\n        $params['cbs'] = $new_cbs;\r\n    }\r\n\r\n    return $params;\r\n}\r\nadd_filter( 'the_seo_framework_image_generation_params', 'my_tsf_qtranslate_image_generator', 10, 3 );\r\n\r\n\/\/ \u5b9f\u969b\u306b\u73fe\u5728\u306e\u8a00\u8a9e\u306e\u672c\u6587\u304b\u3089\u753b\u50cf\u3092\u62bd\u51fa\u3057\u3066 TSF \u306b\u6e21\u3059\u51e6\u7406\r\nfunction my_tsf_qtranslate_image_yield( $args = null ) {\r\n    \/\/ qTranslate-XT \u304c\u6709\u52b9\u304b\u30c1\u30a7\u30c3\u30af\r\n    if ( ! function_exists( 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {\r\n        return;\r\n    }\r\n\r\n    $post = get_post();\r\n    if ( ! $post ) {\r\n        return;\r\n    }\r\n\r\n    \/\/ \u2460 \u672c\u6587\u3092\u300c\u73fe\u5728\u898b\u3066\u3044\u308b\u8a00\u8a9e\u300d\u306e\u30d6\u30ed\u30c3\u30af\u3060\u3051\u306b\u5207\u308a\u629c\u304f\r\n    $translated_content = qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage( $post-&gt;post_content );\r\n\r\n    \/\/ \u2461 \u7ffb\u8a33\u5f8c\u306e\u7d14\u7c8b\u306a\u672c\u6587\u304b\u3089\u3001\u6700\u521d\u306e\u753b\u50cf\u30bf\u30b0\uff08img\uff09\u306eURL\u3092\u63a2\u3059\r\n    if ( preg_match( '\/&lt;img[^&gt;]+src=[\\'\"]([^\\'\"]+)[\\'\"][^&gt;]*&gt;\/i', $translated_content, $matches ) ) {\r\n        $image_url = $matches[1];\r\n        $attachment_id = attachment_url_to_postid( $image_url );\r\n\r\n        \/\/ \u2462 \u753b\u50cf\u306eURL\u3068ID\u3092\u300c\u3053\u306e\u753b\u50cf\u3092\u4f7f\u3063\u3066\uff01\u300d\u3068 TSF \u306b\u6e21\u3059\r\n        yield array(\r\n            'url' =&gt; $image_url,\r\n            'id'  =&gt; $attachment_id ? $attachment_id : 0,\r\n        );\r\n    }\r\n}<\/code><\/pre>\n<h2>5. \u307e\u3068\u3081<\/h2>\n<p>\u6700\u7d42\u7684\u306b\u3001The SEO Framework\u306e\u5727\u5012\u7684\u306a\u8efd\u3055\u3092\u7dad\u6301\u3057\u305f\u307e\u307e\u3001qTranslate-XT\u306e\u591a\u8a00\u8a9e\u30e1\u30bf\u30c7\u30fc\u30bf\uff08OGP\u542b\u3080\uff09\u3092\u5b8c\u74a7\u306b\u51fa\u529b\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u5207\u308a\u66ff\u3048\u308b\u3053\u3068\u306a\u304f\u3001<strong>\u6c17\u306b\u306a\u308b\u3088\u3046\u306a\u30b9\u30d4\u30fc\u30c9\u30c0\u30a6\u30f3\u3082\u5168\u304f\u306a\u304f\u3001\u4ee5\u524d\u3068\u307b\u307c\u5909\u308f\u3089\u306a\u3044\u901f\u5ea6\u3067\u30da\u30fc\u30b8\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u3066\u3044\u307e\u3059<\/strong>\u3002<\/p>\n<p>\u540c\u3058\u3088\u3046\u306b\u300c\u591a\u8a00\u8a9e\u5316 \u00d7 SEO \u00d7 \u8868\u793a\u901f\u5ea6\u300d\u306e\u30b8\u30ec\u30f3\u30de\u3067\u60a9\u3093\u3067\u3044\u308b\u958b\u767a\u8005\u306e\u65b9\u306e\u53c2\u8003\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\uff01<\/p>\n<p><\/p>","protected":false},"author":2,"featured_media":0,"template":"","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"class_list":["post-10355","blog","type-blog","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/randyapps.com\/ja\/wp-json\/wp\/v2\/blog\/10355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randyapps.com\/ja\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/randyapps.com\/ja\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/randyapps.com\/ja\/wp-json\/wp\/v2\/users\/2"}],"wp:attachment":[{"href":"https:\/\/randyapps.com\/ja\/wp-json\/wp\/v2\/media?parent=10355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}