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 と同じ階層にアップロードします。
サブディレクトリに本体をインストールしている場合は、サブディレクトリにアップロードしてください。
03. ブラウザから PHP ファイルにアクセスする
PHP ファイルをアップロードしたあと、ブラウザで PHP ファイルにアクセスします。
https://example.com/output-link.php
ダウンロードウィンドウが開くので、任意の場所にダウンロード。
デフォルトでは「post.csv」というファイル名になります。
あとは Excel なり Google Sheets なりで読み込んで完了です。
「Shortlink」列に短縮 URL が表示されます。
なお、アップロードした PHP ファイルはそのままにせず、削除してください。残しておくとセキュリティリスクが生じます。
Jetpack アンインストール後も短縮 URL は保持される
Jetpack をアンインストールしたとき、短縮 URL がどうなるか実際に確認したところ、リンク切れが起きることはなくそのまま機能していました。
Jetpack 公式ヘルプ記載のとおりです。
リンクは永久に維持でき、WordPress.com が存在する限りはずっと利用できます。
WP.me 短縮 URL
「(Jetpack をアンインストールし、連携を解除しても)リンクは永久に維持」ということみたいですね。
Jetpack 削除後に再インストール・アカウント連携した場合、各投稿の短縮 URL は削除前と同じままになっています。
まとめ
短縮 URL 生成プラグインは「Pretty Links 」などいくつかありますが、プラグインを削除するとリンクが切れてしまいます。
wp.me はリンク切れの心配がないものの、管理には向いていないというデメリットがあります。また、投稿や固定ページ以外の URL を短縮することもできません。
短縮 URL を使うさいは、目的に応じてチョイスしましょう。