WordPress プラグイン「Jetpack」には、短縮 URL 機能が備わっています。
投稿編集画面から簡単に短縮 URL をコピーできますが、「短縮 URL の一覧」はどこにも表示されません(探し方が悪いのかも…)。
管理用に一覧リストを作成する案件がありましたので、取得方法を備忘録として残しておきます。
本ページの目次
短縮 URL リストを CSV で出力する手順
wp.me の短縮 URL は、rel="shortlink"
として <head>
に出力されます。
<link rel='shortlink' href='https://wp.me/xxxxxx-yyy' />
つまり、wp_get_shortlink()
を使えば解決します。
01. 出力用の PHP ファイルを作成する
まずは、一覧を出力する PHP ファイルを作成しましょう。
以下は、「投稿タイトル」「パーマリンク」「ショートリンク」を CSV で出力するコードです。
<?php
include "wp-load.php";
header('Content-type:text/csv');
header('Content-Disposition: attachment; filename="posts.csv"');
$posts = new WP_Query('post_type=any&posts_per_page=-1&post_status=publish');
$posts = $posts->posts;
echo "Title,Permalink,Shortlink\n"; // CSVヘッダー
foreach($posts as $post) {
setup_postdata($post);
$title = get_the_title($post->ID);
$permalink = get_permalink($post->ID);
$shortlink = wp_get_shortlink($post->ID);
// CSV形式で出力(カンマ区切り、文字列はダブルクォートで囲む)
echo '"' . str_replace('"', '""', $title) . '","' . $permalink . '","' . $shortlink . "\"\n";
}
?>
テキストエディタに上記コードを貼り付け、適当なファイル名を付けてください。サンプルは output-link.php
としています。
文字コードは「UTF-8(BOM なし)」です。
WordPress の文字コード(UTF-8)と改行コード(LF)
02. ファイルをアップロードする
作成した PHP ファイルを、WordPress と同じ階層にアップロードします。
![FTPでアップロード](https://naifix.com/wp-content/uploads/2024/04/upload-php-file.png)
サブディレクトリに本体をインストールしている場合は、サブディレクトリにアップロードしてください。
03. ブラウザから PHP ファイルにアクセスする
PHP ファイルをアップロードしたあと、ブラウザで PHP ファイルにアクセスします。
https://example.com/output-link.php
ダウンロードウィンドウが開くので、任意の場所にダウンロード。
デフォルトでは「post.csv」というファイル名になります。
![post.csvをダウンロード](https://naifix.com/wp-content/uploads/2024/04/download-link-list.png)
あとは Excel なり Google Sheets なりで読み込んで完了です。
「Shortlink」列に短縮 URL が表示されます。
![Google SheetsでCSVをインポートした図](https://naifix.com/wp-content/uploads/2024/04/open-shortlink-list.png)
なお、アップロードした PHP ファイルはそのままにせず、削除してください。残しておくとセキュリティリスクが生じます。
Jetpack アンインストール後も短縮 URL は保持される
Jetpack をアンインストールしたとき、短縮 URL がどうなるか実際に確認したところ、リンク切れが起きることはなくそのまま機能していました。
Jetpack 公式ヘルプ記載のとおりです。
リンクは永久に維持でき、WordPress.com が存在する限りはずっと利用できます。
WP.me 短縮 URL
「(Jetpack をアンインストールし、連携を解除しても)リンクは永久に維持」ということみたいですね。
Jetpack 削除後に再インストール・アカウント連携した場合、各投稿の短縮 URL は削除前と同じままになっています。
![WordPress投稿編集画面の「短縮リンク」](https://naifix.com/wp-content/uploads/2024/04/editor-jetpack-shortlink.png)
まとめ
短縮 URL 生成プラグインは「Pretty Links 」などいくつかありますが、プラグインを削除するとリンクが切れてしまいます。
wp.me はリンク切れの心配がないものの、管理には向いていないというデメリットがあります。また、投稿や固定ページ以外の URL を短縮することもできません。
短縮 URL を使うさいは、目的に応じてチョイスしましょう。