Kashiwazaki SEO Link Card
URLを記述するだけで、ページの情報を取得してカード形式で表示するWordPressプラグインです。OGPデータの自動取得、内部リンク最適化、クリックトラッキング、カスタマイズ可能なデザインなど、豊富な機能を搭載しています。
主要機能
1. 自動OGPデータ取得
- 外部サイトからOGP(Open Graph Protocol)データを自動取得
- タイトル、ディスクリプション、サムネイル画像を美しいカードで表示
- OGP画像がない場合の高度なフォールバック機能
- Twitter Card、meta タグ、favicon の自動検索
- ヘッダー・ロゴエリアの画像を優先的に取得
- 本文画像をサイズで判定して最適なものを選択
2. 内部リンク最適化
- WordPressデータベースから直接データ取得(高速・正確)
- SEOプラグイン対応(Yoast SEO、All in One SEO)
- アイキャッチ画像の自動取得
- カスタム抜粋・自動生成抜粋の対応
3. インテリジェントキャッシュシステム
- 外部リンク・内部リンクで異なるキャッシュ期間
- 外部リンク:デフォルト 6時間
- 内部リンク:デフォルト 72時間
- 管理画面からキャッシュ期間のカスタマイズ可能
- ワンクリックでキャッシュクリア機能
4. クリックトラッキング&アナリティクス
- JavaScriptによる非侵襲的なクリック追跡
- データベースへのクリックログ保存
- 管理画面でのアナリティクス表示
- リンクごとのクリック数
- ページごとの集計
- 期間絞り込み機能
5. 柔軟なデザインカスタマイズ
カラーテーマ
- 8種類のプリセットテーマ:赤、青、緑、紫、オレンジ、灰色、白、黒
- カスタムカラー機能:カラーピッカーで自由に色を設定
- 外部リンク・内部リンクで個別設定可能
サムネイル設定
- 表示/非表示の切り替え
- 位置設定(左/右)
- サイズのカスタマイズ(幅・高さ)
- 外部リンク・内部リンクで個別設定可能
バッジ機能
- 「外部リンク」「内部リンク」バッジの自動表示
- 表示/非表示の切り替え可能
- サムネイル上への配置で視認性向上
6. SEO対策
<blockquote cite="URL">タグで引用を明示- 適切なセマンティックHTML構造
- target="_blank" には自動的に rel="noopener" を追加
7. 開発者向け機能
REST API
- カスタムエンドポイント
/kslc/v1/all-posts - 投稿タイプフィルター、検索機能
- エディタ統合用のデータ取得
ブロックパターン
- Gutenbergブロックパターンの登録
- ブロックエディタでの簡単挿入
インストール
手動インストール
- このリポジトリをダウンロード
git clone https://github.com/TsuyoshiKashiwazaki/wp-plugin-kashiwazaki-seo-link-card.git- WordPressの
/wp-content/plugins/ディレクトリにアップロード
cd wp-content/plugins/
mv /path/to/wp-plugin-kashiwazaki-seo-link-card kashiwazaki-seo-link-card-
WordPress管理画面のプラグインメニューから有効化
-
設定メニュー「Kashiwazaki SEO Link Card」から設定を調整
使い方
基本的なショートコード
外部リンク
[linkcard url="https://example.com"]
内部リンク(投稿ID指定)
[linkcard post_id="123"]
カスタムタイトル
[linkcard url="https://example.com" title="カスタムタイトル"]
target と rel 属性のカスタマイズ
[linkcard url="https://example.com" target="_blank" rel="nofollow"]
利用可能なショートコード
[linkcard]- 推奨[kashiwazaki_seo_link_card]- 正式名[nlink]- 短縮版
ショートコード属性
| 属性 | 説明 | デフォルト | 例 |
|---|---|---|---|
url |
リンク先URL(外部リンク用) | - | url="https://example.com" |
post_id |
投稿ID(内部リンク用) | 0 | post_id="123" |
title |
カスタムタイトル | OGPから取得 | title="記事タイトル" |
target |
リンクターゲット | 外部:_blank内部:なし |
target="_blank" |
rel |
rel属性 | 外部:noopener |
rel="nofollow" |
管理画面での設定
WordPress管理画面の「設定」→「Kashiwazaki SEO Link Card」から以下の設定が可能です:
デザイン設定
外部リンク設定
- カラーテーマ:8種類のプリセット + カスタムカラー
- サムネイル表示:オン/オフ
- サムネイル位置:左 or 右
- バッジ表示:オン/オフ
内部リンク設定
- カラーテーマ:8種類のプリセット + カスタムカラー
- サムネイル表示:オン/オフ
- サムネイル位置:左 or 右
- バッジ表示:オン/オフ
サムネイルサイズ
- 幅:デフォルト 200px
- 高さ:デフォルト 140px
キャッシュ設定
- 外部リンクキャッシュ期間:デフォルト 6時間
- 内部リンクキャッシュ期間:デフォルト 72時間
- キャッシュクリア:ワンクリックで全キャッシュをクリア
アナリティクス
「リンク統計」サブメニューから以下の情報を確認できます:
- リンクごとのクリック数
- 掲載ページごとの集計
- クリック日時の詳細ログ
- 期間フィルタリング
技術仕様
動作環境
- WordPress: 5.5以上(ブロックパターン機能を使用)
- PHP: 7.0以上(推奨)、5.4以上で動作可能
技術的詳細
- PHP 5.4以上で動作(短配列構文使用)
- セキュリティサポートのためPHP 7.0以上を推奨
- WordPress 5.5のブロックパターンAPI使用
- REST API対応
使用技術
- フロントエンド:jQuery、Vanilla JavaScript
- バックエンド:PHP、WordPress API
- データベース:カスタムテーブル(
wp_kslc_analytics) - キャッシュ:WordPress Transients API
- HTTP:WordPress HTTP API
データベーステーブル
プラグイン有効化時に自動作成されます:
wp_kslc_analytics
├── id (bigint) - 主キー
├── url (varchar) - リンク先URL
├── page_url (varchar) - 掲載ページURL
├── ip_address (varchar) - アクセス元IP
├── user_agent (text) - ユーザーエージェント
├── title (varchar) - リンクタイトル
└── clicked_at (datetime) - クリック日時カスタマイズ
定数によるカスタマイズ
wp-config.php または テーマの functions.php で以下の定数を定義できます:
// デバッグログを有効化
define('KSLC_ENABLE_DEBUG_LOGS', true);
// 出力バッファハンドリングを完全無効化
define('KSLC_DISABLE_OUTPUT_BUFFER_HANDLING', true);フィルターフック
今後のバージョンでカスタムフィルターフックを追加予定です。
トラブルシューティング
キャッシュが更新されない
管理画面の「キャッシュをクリア」ボタンをクリックしてください。
画像が表示されない
- 外部サイトのOGP設定を確認
- サムネイル表示設定がオンになっているか確認
- ファイアウォールがOGP画像URLをブロックしていないか確認
クリック統計が記録されない
- JavaScriptが有効になっているか確認
- AJAX URLが正しく設定されているか確認(ブラウザのコンソールでエラーを確認)
- データベーステーブルが作成されているか確認
プラグインを再有効化
プラグインを一度無効化し、再度有効化することでデータベーステーブルが再作成されます。
セキュリティ
- WordPress Nonce によるCSRF対策
- サニタイゼーション・エスケープ処理の徹底
- SQLインジェクション対策(prepared statements使用)
- XSS対策(
esc_html,esc_url,esc_attrの使用)
パフォーマンス
- トランジェントAPIによる効率的なキャッシュ
- 内部リンクはデータベース直接取得(HTTP不要)
- 外部リンクはタイムアウト設定(10秒)
- 画像検索は最初の10個のみスキャン(過負荷防止)
ライセンス
GPL-2.0 or later
このプラグインはフリーソフトウェアです。GNU General Public License v2以降の条件の下で再配布および変更が可能です。
作者
柏崎剛 (Tsuyoshi Kashiwazaki)
- Website: https://www.tsuyoshikashiwazaki.jp
- Profile: https://www.tsuyoshikashiwazaki.jp/profile/
- Email: [email protected]
サポート
バグ報告や機能リクエストは、GitHubのIssuesページでお願いします。
https://github.com/TsuyoshiKashiwazaki/wp-plugin-kashiwazaki-seo-link-card/issues
変更履歴
詳細は CHANGELOG.md を参照してください。
貢献
プルリクエストを歓迎します!大きな変更の場合は、まずissueを開いて変更内容を議論してください。
クレジット
このプラグインは WordPress コミュニティの素晴らしいツールとドキュメントに基づいて開発されました。
