SWELLの関連記事ブロックを、公開側ではテキストリンクとして出す例です。通常のブログカードもhrefを持つリンクを含むため、「カードだからGoogleが認識しにくい」という旧説明は撤回します。変更する理由は表示の簡素化であり、SEO効果を保証するものではありません。
SWELLの描画属性を使う
SWELL 2.19.0の関連記事ブロック(loos/post-link)にはisText属性があります。生成後のHTMLを長い正規表現で置換する代わりに、描画前の属性だけを変えます。子テーマのfunctions.phpなどに次を一度だけ追加し、旧motoki_replace_custom_htmlは外してください。PHPタグの中へ貼る場合、開始タグは追加しません。
function waza_blog_card_as_text($block) {
if (is_admin() || (defined('REST_REQUEST') && REST_REQUEST)
|| 'loos/post-link' !== ($block['blockName'] ?? '')) {
return $block;
}
$block['attrs']['isText'] = true;
return $block;
}
add_filter('render_block_data', 'waza_blog_card_as_text');
変更される範囲と確認
公開側で描画されるSWELL関連記事ブロックが対象です。保存済みのブロックや投稿本文を書き換えず、管理画面とRESTリクエストは対象外にしています。他テーマ、通常のHTMLリンク、SWELL以外のカードには適用しません。
内部記事・外部URL・手動タイトル・新しいタブで開く設定を使っている場合は、それぞれリンク先と表示を確認します。既存のカスタマイズとの併用や将来のSWELL更新では属性や描画が変わる可能性があります。戻す場合は今回のフック登録と関数を外します。
根拠:SWELL 2.19.0の関連記事ブロックの描画処理を照合しました。リンクの基本はGoogle公式のクロール可能なリンクの説明を参照してください。
同じ内部記事へのテキスト表示例
下は同じisText属性を指定したSWELL標準の描画例です。このページのためにサイト全体の変換フィルターを有効化したものではありません。
よくある質問:ブログカードをアンカーリンクに変換するとき
このカスタマイズでは、何が変わりますか?
記事では、SWELLの関連記事ブロックを、公開側ではテキストリンクとして出す例です。SWELL 2.19.0の関連記事ブロックにはisText属性があり、生成後のHTMLを正規表現で置換する代わりに、描画前の属性だけを変えます。
ブログカードをテキストリンクにすると、SEOに効果がありますか?
効果は保証されません。記事では、通常のブログカードもhrefを持つリンクを含むため、「カードだからGoogleが認識しにくい」という旧説明は撤回しています。変更する理由は表示の簡素化であり、SEO効果を保証するものではありません。
コードは、どこに追加しますか?
記事では、子テーマのfunctions.phpなどに一度だけ追加し、旧版のコードは外します。PHPタグの中へ貼る場合、開始タグは追加しません。
どのブロックが変更されますか?
記事では、公開側で描画されるSWELL関連記事ブロックが対象です。保存済みのブロックや投稿本文を書き換えず、管理画面とRESTリクエストは対象外にしています。他テーマ、通常のHTMLリンク、SWELL以外のカードには適用しません。
変更したあと、何を確認しますか?
記事では、内部記事・外部URL・手動タイトル・新しいタブで開く設定を使っている場合は、それぞれリンク先と表示を確認します。
SWELLを更新しても、同じように動きますか?
動くとは限りません。記事では、既存のカスタマイズとの併用や将来のSWELL更新では、属性や描画が変わる可能性があります。記事はSWELL 2.19.0の関連記事ブロックの描画処理を照合しています。
元に戻すには、どうしますか?
記事では、今回のフック登録と関数を外します。



