2025年4月 この範囲を時系列順で読む この範囲をファイルに出力する
スマホやタブレットのようなタッチパネル環境で似たような経験があったので、気になってAI(Copilot)に聞いてみました。
Copilotが提示した下記のjavascriptコードを外側スキンの末尾にある遅延読み込みスクリプト群の所に貼り付けてテストしたところ、文字を入力できるエリア(textareaとinput)に何らかの文字が入力されている状態でリンクをクリックした時に確認ダイアログが出ました。このままだと投稿ボタンや記事検索ボタンを押した時にも確認ダイアログが出るので、その辺の細かい部分はお好みに合わせて調整してみて下さい。
<script>
let isTyping = false;
document.querySelector("textarea").addEventListener("input", () => {
isTyping = true;
});
window.addEventListener("beforeunload", (event) => {
if (isTyping) {
event.preventDefault();
event.returnValue = "変更内容が失われる可能性があります。ページを移動してもよろしいですか?";
}
});
</script>

ダイアログなどを挟んで警告するカスタマイズは可能でしょうか?
あるいは今後のバージョンで、入力中に他ページに推移する前に確認ダイアログを表示する機能を追加していただけないでしょうか。
検討いただけますと幸いです。
もう見てらっしゃらないかもしれませんが…
もし独自ドメインを取るほどでもないという場合は、今お持ちのXREA Freeのアカウントを有料のXREA Plus に切り替えると
https://任意の名前.xrea.jp/
みたいなサブドメインとSSLが使えるURLを3つまで作ることができるようになります。「xrea.jp」の部分は、これ以外に「xrea.bz」「xrea.nu」「xrea.cc」「happy.nu」「cute.bz」の中から選べます。
設定方法
https://www.value-domain.com/userguide/manual/server-s...
https://help.xrea.com/manual/xreadomain-create/
XREA Plusは
①支払い手続きやサブドメインの最初の設定をVALUE-DOMAINのサイトから行う
②XREAのユーザーページで先ほど作ったサブドメインを登録してSSL使用ONの設定をする
という感じで2つのサイトを往復しないといけないのがややこしいですが、広告が出なくなって共有SSLよりURLも短くできます。
私はこのXREA Plusのサブドメインで自分専用のてがろぐを使ってます🙂
ご教示いただいた方法を試したところ【https://ss1.xrea.com/[サーバーID].[サーバーNo].xrea.com/tegalog/】まで入力したら画像一覧とギャラリーで画像が正しく表示されるようになりました!
なるほど、独自ドメインかサブドメインを取得した方がよろしいのですね…検討いたします。
お忙しい中、遅い時間まで丁寧にご対応いただきまして本当にありがとうございました。これからもどうぞよろしくお願いいたします!
(たとえ画像URLがHTTPで出力されていても、同じURLでプロトコルをHTTP→HTTPSに変えるだけで閲覧できるのであれば、(最近のChromeなら)ブラウザ側が内部で切り替えて表示してくれるのですけども。HTTPとHTTPSとでURLが異なる場合には(存在を認識しようがないので)ブロックされます。)
で、解決策ですが、てがろぐ管理画面の[設定]→[システム設定]→【フルパス設定】で『固定』の方に切り替えた上で、その入力欄に『 https://ss1.xrea.com/ から始まっているURLで表記した場合の、てがろぐが存在するディレクトリまでのURL』(※)を入力して保存してみて下さい。そうすると、プログラム側が認識する「自分の位置」を強制的に固定できますので、おそらく問題はなくなると思います。
※具体的にどう指定する必要があるかは実際に見ないとわかりませんが、たぶん https://ss1.xrea.com/hogehoge/higehige/tegalog/ のような感じではないかと思います。最後の文字は「/」になります。)
なお、一番良いのは、共有SSLを使わずに、「独自ドメイン」または「サーバ会社提供の、自分だけが権利を持てるサブドメイン( hogehoge.なんたら.com みたいな)」で自分専用のSSLを使う方法です。(ご契約のサーバでそれが可能なのかどうかは分かりませんが。)
てがろぐのURLはhttps://ss1.xrea.com/から始まっており、共有SSLを使用しております。
しかし、URLの共有SSL部分を消してアクセスしてみたところ、セキュリティ保護がなくなった代わりに画像一覧とギャラリーの画像が表示されるようになりました。共有SSLが原因ですかね…。
てがろぐにアクセスするURLは、https:// で始まっていますか? それとも http:// ですか? もし前者の場合、「s」を削除して http:// でアクセスするとどう見えますか?
src属性値の後のURLにアドレスバーからアクセスしたところ、問題なく正しく画像が表示されました。
🍎Re:5064◆そのソースに出ているsrc属性値のURLを、ブラウザのアドレス欄に貼り付けてアクセスすると、画像は正しく見えますか?
🌳Re:5062◆てがろぐが出力するHTMLソースに、どんなURLが出力されているのかを確認してみて下さい。
例えば、 sample1.jpg という画像なら、てがろぐは、 <img class="embeddedimage" src="images/sample1.jpg" width="~" height="~" loading="lazy" alt="~"> のようなHTMLを出力します。
画像が表示されないということは、このURLの出力結果に問題があるということでしょうから、まずはこの点を確認してみる必要があります。
どんなHTMLが出力されていますか?
素晴らしいCGIを開発していただき、誠にありがとうございます。
画像投稿の件で質問をさせていただきたいのですが、XREAフリー版にててがろぐを使用しております。
画像を投稿したところ、投稿画面では問題なく画像が表示され、クリックするとこちらも問題なく原寸大を表示することが出来るのですが、画像一覧モード、ギャラリーモードに切り替えるとファイル名のみの表示になってしまい、ファイル名をクリックしても画像を表示することが出来ません。
(skin格納ディレクトリはデフォルトの[skin-gallery]、[skin-picts]から変更しておりません)
どのような原因が考えられるでしょうか。
お忙しい中恐縮ですが、ご教授いただけますと幸いです。よろしくお願いいたします。



2025年3月 この範囲を時系列順で読む この範囲をファイルに出力する
サイトマップページモードで目次を作り、JavaScriptで読み込ませて並べると、理想通りの表示になりました!
本当にありがとうございます!!
にししさん、とても詳しく教えてくださりありがとうございます🙇てがろぐと離れた話題にも関わらずお答え頂き感謝です!
私のように間違った使い方で併用している方も少なくないと思いますので(たぶん…)、検索避けされている方々に広く認知されるといいなと思います。
そういう意味で、てがろぐのログイン者限定公開のモードはとても有難い存在です!素晴らしいCGIをありがとうございます!
こんな話だけで申し訳ない、てがろぐ、とても愛用させてもらっています。いつもありがとうございます。
🍔Re:5055◆その適用順序は半分(前半が)間違っていますのでご注意下さい。robots.txtでクローラーをブロックすると検索避けができなくなる点は、Google自身が公式ヘルプで明言しています。(「インデックスに登録してはいけない」という指示自体が読めなくなるため)
robots.txt ファイルでページのクロールが許可されていない場合、インデックス登録や表示に関するルールについての情報は検出されず、その結果無視されます。
後半の「metaタグ→それでも読まないお行儀悪いものは.htaccess」は正しい順序ですが、最初に「まずはrobots.txtを読んでもらう」とすると、Googleでは検索避けに失敗します。(※robots.txtでGoogle等の紳士的なクローラーをブロックしていないなら問題ありませんが。)
🍔Re:5053◆Googleに関してはその通りです。.htaccessでブロックしてもいけないし、robots.txtでブロックしてもいけません。なぜなら、ブロックされると「登録するな」という指示自体も読めないからです。
- もちろん、robots.txtでブロックされているならクローラーはページの内容を読みませんから、(ページ内に何が書かれているのかの情報は得られないため)インデックスに登録される可能性は減りはします(※なので「この方法で検索避けは成功する」と思えるケースもあるでしょう)。
- しかし、登録禁止だという指示自体も伝わっていないため、よほど評価値の高い外部サイトからリンクされている場合などの外部要因次第では(リンク元ページにあるリンクテキストなどのように「読むことを禁止されていない場所にある情報」を用いて)インデックスに登録される可能性が残ります。
※2000年代からある古典的な話ですが、「出口」という検索語でググると、Yahoo! Japanがヒットします。これは「出口」というリンクテキストを使ってYahoo!にリンクしているサイトが多いことによる影響です。つまり、「どんなリンクテキストを使ってリンクされているのか」という情報も検索サイトに反映される(要素の1つになる)のです。なので、robots.txtでページの中身を読むことだけを禁止しても(&.htaccessでページ自体を読めなくしても)、インデックスに登録される可能性はあります。
したがって、インデックス登録を避けるには、ページそのものに書かれた登録禁止の指示を確実に読ませる必要があるため、ブロックしてはいけないのです。
……とはいえ、世の中に存在するクローラーはGoogleやBingのような比較的紳士的に動作するものだけではありません(※検索のシェアはGoogleが1強ですが)。metaタグの存在を無視してインデックスに登録しようとするクローラーも存在するでしょう。なので、metaタグを読まないような無作法なクローラーに対しては、何らかのブロックをするほかありません。(そのような無作法なクローラーはrobots.txtだって読まないでしょうから、.htaccessでサーバ側に応答を拒否させるしかないでしょう。)
したがって、検索避けを厳密にしたいなら、以下のような方策が必要です。
- まずは、metaタグを読ませる。(←紳士的なクローラーはこの指示に従うので、まずはこれを確実に読ませる必要がある。)
- (次に、metaタグを無視するようなBotだけに限定して、robots.txtでブロックする。)
- 最後に、1も2も無視するようなBotだけに限定して、.htaccessでブロックする。
この順序を逆にしてしまうと(=あらゆるクローラーを.htaccessでブロックすると)、そもそもmetaタグを書く意味がなくなってしまいますから注意して下さい。なぜなら『あらゆるクローラーがmetaタグを読めなくなる』からです。
Googleだけを対象にするなら、そもそもmetaタグだけで充分です。他の無作法なBotも対象にしたい場合は、「Googleのような紳士的なクローラーにはアクセスを許可しつつ、無作法なクローラーだけを拒否するような .htaccessを書く」必要があります。
※なお、robots.txt自体に意味がないわけではありません。検索サイト以外のクローラー(最近ではAI学習用のBotも多いですね)をブロックする用途や、「クロールそのものは許可したいがクロール頻度を低く抑えたい(=負荷軽減)」場合などの指示には役立ちます。
とはいえ、Googleはrobots.txtに書かれた「クロール頻度の指示」は無視するんですけども……。┌(:3」└)┐
🍔Re:5054◆その場合は、2つの方法があります。
- 『サイトマップページモードをカテゴリ限定で表示させたページ』をiframeで読み込んで並べるページを作る。
- 『サイトマップページモードをカテゴリ限定で表示させたページ』の中身をJavaScriptで読み込んで1ページに合成するページを作る。
せっかく検索避けしているのに意味がないかもしれないと知って焦っていたので、少し落ち着けました。冷静に対処していきます。
なんでもかんでも.htaccessで弾いてしまうと、robots.txtやmetaタグを読んでくれるbotには意味がなくなってしまうよ、ということではないかと思います。.htaccessで弾きつつ、robots.txtだけはアクセス許可するとかもできますよ。調べればそれぞれ出てくるかと…
つまりまとめると、検索避けはhtmlのmeta要素のみ使うべきで、.htaccessやrobots.txtは使ってはいけない(併用も不可)ということでしょうか?
読解力がなく、頭の悪い質問で申し訳ないのですが、重要なところなので詳細を知りたいです。
🍕Re:5051◆目次は「サイトマップページモード」をご使用下さい。サイトマップページモードは、名称を「目次モード」にしておく方が良かったかな、と思うくらい、元々目次用途に作ったモードです。
このモードを使えば、ご要望の②・③・④は既に実現できます。
- ②そのカテゴリのカテゴリ名と概要文は、スキン内で現在カテゴリ情報要素を使えば表示できます。
- ③投稿内に含まれるハッシュタグの抽出表示は、投稿本文関連要素(オプション)の抽出結果を挿入(ハッシュタグ)を使えば実現できます。
- ④カテゴリごとに表示される投稿件数の変更は、てがろぐ Ver 4.5.3βで搭載した『カテゴリごとに「1ページあたりの表示件数」を別設定できる機能』を使えば実現できます。(※ここでの設定値は、通常の表示モードだけでなく、サイトマップページモードでも有効です。)
とてもお世話になっています、にししさんありがとうございます~!
新着投稿リストについて相談させてください。
私はてがろぐで小説サイトを作っていて、目次を作るのに新着投稿リストを使っています。(画像A)

そこで、#要望 が4つあるのですが、
①新着投稿リストで指定したカテゴリにおいて、同カテゴリに限定した隣接投稿へ移動できるリンクが表示されるようにしてほしい

②新着投稿リストで指定したカテゴリにおいて、そのカテゴリのカテゴリ名と概要文が表示されるようにしてほしい

③新着投稿リスト内に、その投稿内に含まれるハッシュタグが表示されるようにしてほしい

④新着投稿リストごとに表示される投稿の件数を変更できるようにしてほしい

お忙しいところ申し訳ないのですが、ご検討いただき、TODOリストの端っこに加えていただけると嬉しいです!
よろしくお願いします!!畳む
☕Re:5049◆検索避けには、まさしくそのmeta要素を使う必要があります。
.htaccessやrobots.txtを使ってクローラーからのアクセスをブロックしてしまうと、「検索インデックスに登録するな」という指示そのものが読めなくなるので、結果として検索避けに失敗します。(他サイトからのリンクを経由してクローラーが来た場合、そのページに書かれている情報は読めないため取得されませんが、リンク元ページにあるリンクラベル等を使ってインデックスに登録される可能性があります。)
なので、検索避けのためには「『登録するな』という指示(<meta name="robots" content="noindex">)自体はクローラーにも読めるように」しておく必要があります。
※参考:このGoogle検索セントラルHelpページ末尾の「robots.txt ルールとインデックス登録および表示に関するルールとの組み合わせ」項目には、「クロール禁止の情報自体が読めなかったら、指示は無視されるよ」的なことが書いてあります。
なお、IPアドレスは明確に対象国が分割されているわけではありません。「今は日本国内に割り当てられているIPアドレスが、来月は海外で使用されている」というケースもあり得ます(もちろんその逆も)。なので、IPアドレスを使ってアクセス元を判断するには常に最新の情報にアップデートし続ける必要があり、個人ではあまり現実的ではなさそうに思います。
少しになることがありまして、現在サイト内全てのページに検索避けのmetaタグを導入しているのですが、その場合は一つ目の『日本国外からのアクセスを制限する.htaccess』を使用した方がいいのでしょうか?
まだ今週末はまた寒くなるっぽい予報ですけども。
🌸Re:5047◆なるほど。
普通の半角「 # 」記号は、Unicodeで U+0023 で、
キーキャップ化した「 #️⃣ 」は、UnicodeでU+0023 U+FE0F U+20E3 なのでそういう動作になるんですね。
- U+0023 : #
- U+FE0F : (Emoji Variation Selector)
- U+20E3 : (Combining Enclosing Keycap)
- #️⃣ ← # + U+FE0F + U+20E3
- 1️⃣ ← 1 + U+FE0F + U+20E3
- 9️⃣ ← 9 + U+FE0F + U+20E3
最初の例では、『 #️⃣これってハッシュタグになる…?』の先頭はあくまでも「 # 」で、その続きが「 U+FE0F、 U+20E3、こ、れ、っ、て…… 」になるので、『U+FE0F (Emoji Variation Selector)』から「?」までがハッシュタグだと認識されると。
U+FE0F と U+20E3 は半角文字の範囲に含まれていないので、U+FE0F から ? までを一連のハッシュタグだと認識するんですね。
次の2つの例では、先頭の「 # 」と「 [ 」や「 - 」とにある U+FE0F U+20E3 だけがハッシュタグだと認識されるので、「 #️⃣ 」だけがクリックできるわけですね。^^;
※ハッシュタグを角括弧で囲む場合は、「 # 」と「 [ 」記号が連続している必要がありますが、ここではその間に U+FE0F U+20E3 が含まれていますから、連続していません。
※隠れハッシュタグとして扱う場合は、「 # 」と「 - 」記号が連続している必要がありますが、ここではその間に U+FE0F U+20E3 が含まれていますから、連続していません。
とりあえず、「 # 」の後に U+FE0F が続いている場合はハッシュタグにしないような仕様が必要でしょうね。(^_^;)
#️⃣[これってハッシュタグになる…?]
#️⃣-[これってハッシュタグになる…?]
#これはならない