nuxt generateで作っているこのブログ。
GoogleAnalyticsを眺めていると、同じページがURL末のスラッシュの有無で別扱いになっている。
- /post/sample-post
- /post/sample-post/
これはSEO的にもマズそうなので、スラッシュ無しに統一することにした。
subFoldersの設定を変える
最終的にやったことはsubFoldersをfalseにしただけ。
デフォルトではtrue
デフォルトではtrueになっていて、そのままnuxt generateしていたため次のようになっていた。
-| dist/
---| index.html
---| post/
-----| sample-post1/
-------| index.html
-----| sample-post2/
-------| index.html
記事が増えるごとにsample-postディレクトリと同様の記事ディレクトリと、その下にindex.htmlが生成される。
その結果、
/post/sample-post1
へのアクセスは
/post/sample-post1/index.html
へのアクセスということとなり、
/post/sample-post1/
とURL末にスラッシュがつくことになる。
falseを指定した場合
false を設定した場合、ルーティングパスに従う形で HTML ファイルを生成します:
とのことなので、nuxt.config.jsでsubFoldersをfalseに設定する。
export default {
generate: {
subFolders: false
}
}
これでgenerateしてみると「記事ディレクトリ+index.html」だったのが、「記事.html」だけになった。
-| dist/
---| index.html
---| post/
-----| sample-post1.html
-----| sample-post2.html
結果、余計なURL末のスラッシュも無くなり、URLを統一することができた。