HA710の個人ブログです。


個人サイトをAstroで作り直し,ブログを開設した

個人サイトを持ち,その上に自分の作ったコンテンツや書いた文章をまとめるという行為は常に自分がやりたいことのリストの上位にあった。たとえデザインがみすぼらしくても,また内容がちっぽけでも,個人のウェブサイトを持つということ自体がひとつの誇れるステータスであるという気持ちが常にどこかにあった。もちろん(これはあくまで単なる一例にすぎないが)note のようなプラットフォーム上に投稿するほうが楽だし,面倒な HTML やら CSS やらに気を取られずにすむ1。それに,ドメインパワーが全くない個人サイトよりもそういうプラットフォームのほうがより多くの人に見てもらえるだろう。しかし,それでも個人サイトを持つということに対しては執念が途絶えることがなかった。

最初に作ったウェブサイトは中学生の頃に StarServer Free2を使って作ったものだった。2021 年の暮れに,デュエマオリカジェネレータというツールを作り,そのためにウェブサイトを作り直した。この時に,ページの表示速度が速くしかも GitHub のリポジトリと連携可能な Cloudflare Pages というホスティングサービスを知り,これに乗り換えた。それからしばらく(音 MAD 作りのほうに打ち込んでいたため)動きがなかったが,2024 年——つまり浪人の秋にモチベーションが再着火した。この時に独自ドメインを取得しようとし,さらに(なかなか構築しにくい存在である)ブログを作ろうとしたのだが,実際に作ろうとするといくつか障害が出てくる。例えば,各ページのヘッダやフッタは共通のものを表示する必要があるが,これはどう実装したらよいだろうか。各ページの HTML に同じ内容のヘッダ部などを記述するというのは最悪のアプローチだ3。最初期のウェブサイトでは SSI(Server Side Includes)というものを使っていたが,Cloudflare Pages ではできなかった(と記憶している)。結果としてこれまでのピュアな HTML や CSS,JS だけによる実装をやめて,何らかの Web フレームワークを使う必要が発生する。いくつかの選択肢を比べた結果,最良の手段として選んだのが Astro だった。そして,今年の夏に入ってから Cloudflare Pages をやめて Cloudflare Workers に移行することを決意した。Workers への移行の理由は単純で,単に Cloudflare が Pages の開発に注力せずに Workers のほうを開発すると発表したからである。

なぜブログを書くのか

そもそもブログを書こうと思うようになったのは 2 年ほど前である。それからしばらくの間(現役時は全然受験勉強をしなかったが)受験があったり,浪人があったりして何もできずにいたが,浪人の秋にやる気が出てサイトの改修作業を始め,細々と今年の 4 月あたりまで続けていた。大学に入ってから忙しくなり一時中断していたが,最近になって最後の一撃でひとまず完成を見たという形になる(こうして見るとだいぶダラダラ作業をしている4)。

それではなぜブログを書こうと思い立ったのか,いくつかの理由を挙げてみる。

文章を公開したい

文章を書くことは小学生の頃から好きだった。それはフィクションの創作でもそうだったし,もちろん自叙的な文章もそうだった。Twitter を始めたのも結局はそういう文章を書きたいという欲望に引っ張られた側面が少なからずあったと思う。そして結局フィクションの文章を公開するならもっと別の方法があるだろうが,少なくとも自分の思ったことを整理して公開するならやはりブログがいいだろうということになった。また,そうやって書いた文章を後から見返すことで「その時点で自分がどういうことを考えていたか」も推し量ることができる。そういう点でも,たとえ不定期であってもブログに自分の書いた文章を公開することには意味があると思う。

また,自分の持つ趣味のうちかなり大きいもののひとつとして音 MAD が挙げられるが,この音 MAD に関しても作者などがたびたび文章を公開しているのを見てきた。多くの内容はある特定の(自分の)作品について振り返るような内容(「編集後記」と呼ばれる)である。作品を作る時に単に作って終わりにするのではなく,それに込めた思いや盛り込んだ意図などを言語化することでより次以降の作品に繋げられるだろうし,音 MAD 作者として活動するならいつかこういう文章を継続して書けるような場を設けたいと思っていた。そして受験が終わっていよいよ音 MAD にフルコミットできそう5なのでブログ開設に乗り出したといったところである。

Twitter には限界がある

Twitter6という SNS は,もはや自分について記述しようとすると必ず出てきてしまうほど自分の人生を構成する重要なパーツになってしまった。実際 Twitter は文章を公開するにはもってこいであるし,検索機能も充実している。しかしその一方で,Twitter というアプリケーション,ひいてはプラットフォーム自体には欠点がいくつもある。例えばそれは単位時間あたりにかけられる検索に限りがあることだったり,検索機能の「min_faves」などが正確に機能しないこと,ID の変更などにより過去ツイートが検索に引っかからなくなることなどである。ここに挙げた例はいずれも検索に関することであるが,それ以外にも欠点はある。そもそも,Twitter というもの自体が結局は SNS であり,その瞬間その瞬間の思考や感情を文章化することには長けていてもそれを整理して長期保存することには向いていない(だからこそ,逆に短期的な思考の文章化はブログよりも Twitter のほうが向いていると思う)。

ブログなら Web 検索に載る

SNS 上での発言は結局 SNS 上での検索結果への掲載がメインになる。もちろん検索エンジンにインデックスされる SNS 投稿もあるが,全ての投稿が Google などの検索結果にヒットするわけではない。また検索エンジンでヒットした SNS 投稿の URL が,実はその投稿そのものの URL ではなくその投稿をした人のアカウントページの URL だったというようなこともよくある。だから,SNS 上で文章を公開する限り,その文章が Google 検索でヒットする保証はないのだ。よって,自分の文章が Google 検索でヒットするようにしたければ,ブログを作る必要があった。

なぜ Astro を使うのか

Astro
Astro

Astro builds fast content sites, powerful web applications, dynamic server APIs, and everything in-between.

 astro.build

Astro は,「ビルド時に可能な限りすべての HTML を生成する」という理念に基づいて設計された,SSG(Static Site Generation)の Web フレームワークである。JavaScript を排除し,ビルド時にあらかじめ可能な限りの HTML をレンダリングしておくことで,ページを表示する速度が格段に速くなる。単にページが速くなるだけではなく,ページが読み込まれてから他の CSS や JS が読み込まれるまでのタイムラグが発生しにくいので,「最初表示されていたものが下にずれて,その領域に新たな要素が挟まる」というような現象が少なくなり,いわゆる CLS(Cumulative Layout Shift)が少なくなる。ページの表示が速くなることと CLS が減ることにより,Google の Lighthouse のスコアも高くなるので SEO の面でも有利だ7。毎回すべての HTML をビルドするということはビルド時間の肥大化を意味するが,更新頻度が低いのでそれも問題はあまりない。また,必要に応じて React をはじめとするさまざまなフレームワークのコンポーネントもそのまま(ここは SSG にせずに)使えるらしい8

もうひとつ Astro を語るうえで欠かせないことがある。それは,Astro が Content-driven であることだ。Content-driven というのは,コンテンツ――つまり文章,写真,音楽,その他いろいろなメディア――の表示がメインとなるようなウェブサイトを作るのに最適化しているということを意味している。特に,Astro は Markdown データを自動的に整形し HTML に変換する機能を持っている。ブログを作るという目的に対して,これらの特徴は非常に適合するものだ。これらの魅力を前にして,もはや Astro 以外に取るべき選択はなかった。

なぜ独自ドメインか

独自ドメインというのは基本的に呪いの装備だ。きちんと使っている間は良いが,使わなくなった途端に目の上のたんこぶと化す。そのまま保持し続ければ無駄なドメイン管理費を払い続けることになるし,かといって解約した場合にはもっと恐ろしいことになる。そのドメインを新たに別の人が取得し,その人がそのドメインを使って悪意のあるウェブサイトを作った場合,自分のウェブサイトだと思ってアクセスした人が悪意のあるサイトに飛ばされる可能性がある。だから,独自ドメインを取得する際には「墓場まで持っていく覚悟が必要だ」とよく言われる。

しかし,それでも独自ドメインが欲しかった。それは結局「個人のウェブサイトを持つということ自体が誇りになる」という思いと同じであり,自分で独自のドメインを持つことが個人的な満足に寄与するということである。これは単なる自己満足でしかないが,それでもブログというもの自体が一種の自己満足のようなものなのだから,覚悟してこのドメインを墓場まで持っていこうと思う。

脚注

  1. もっとも,個人的には HTML や CSS などをいじくるのは好きである。

  2. もうサービス終了してしまったが。

  3. ``Don’t repeat yourself’’ と呼ばれる原則に真っ向から反する行為である。

  4. 作業をしているうちに Astro 5.0 がリリースされ,Astro のメジャーバージョンアップデートをやって移行作業をやったりしたくらいにはダラダラしている。

  5. 実際は忙しくて最近まであまり音 MAD に関われなかった。今後はもっと音 MAD 作りに力を入れていきたい。

  6. 現時点の正式名称は「X」であるが,ここでは個人的な好みを優先して「Twitter」と呼んでいる。

  7. どうせこんな小さいブログで SEO など気にしても大して変わらないだろうなどと言われるかもしれないが,それでも自分の作ったコンテンツは 1 人でも多くの人に見てもらいたいものだ。

  8. 使ったことがないのでよくわからないが。

《おわり》

Twitter で共有する