具体的なしきい値が提示されていないので、一般論になってしまいますが、わかる範囲で書いてみます。
1.ワードプレスでは、エントリの上限や、ページの上限が決まっていますか?
スペック上の上限はないようです。ただし、ページを作りすぎると、PHP で扱うメモリ容量の制限にひっかかってエラーになる可能性があります。今のところ、ページの階層構造を確認するために、すべての (固定) ページをメモリーに読み込むという実装を取っている箇所があります (管理パネルでのページ管理等)。
おそらくは将来の WordPress では解消されるでしょうが、固定ページを10000ページ作る、とかだと PHP のメモリー容量をオーバーしてしまう可能性があります。
エントリーについては、そういう処理をしている箇所はない *はず* なので、10万エントリーぐらい作ってもメモリーオーバーはないと思います。
2.タイトルと、本文、カテゴリ名、の文字数制限はありますか? 日本語で何文字くらいですか?
データベース構造の定義で上限が決まっています。
タイトル: text (65535バイト)
本文: longtext (4294967295バイト)
事実上、無制限と言っていい長さでしょう。
カテゴリー名: varchar(200)
カテゴリースラッグ: varchar(200)
こちらはかなり短かいです。MySQL の varchar は、日本語文字列の1文字を1文字としてカウントするので varchar(200) なら200文字までいけます。
ただし、UTF-8 の日本語文字列200文字からカテゴリースラッグをそのまま作ると、1800文字になる (UTF-8 では日本語1文字が3バイト、URLエンコードすると1バイトあたり3文字使うため、都合9文字) ため、varchar(200) に切り詰めた場合、UNIQ 制約をクリアできなくなるおそれがあります。このため、スラッグがユニークになるためには、カテゴリー名自体を 200/9 で22文字以内にしておくのが無難です。もしくは、「必ず英数字のスラッグを別途付与する」という手もあります。
これは、本来はカテゴリースラッグの DB 定義を VARCHAR(600) にするのがスジだと思いますので、WordPress の開発者に提案してみます。
3.制限でなくても経験として、エントリの文字数にまつわる注意点などありましたら、教えてください。
エントリー本文については、長さに関する注意は特にありません。むしろ、UTF-8 の波ダッシュ問題とか、こちらの方が要注意でしょう。
4.特別なカスタマイズをしないで、ここはすごいよ、(エントリやページの数で)というワードプレスのサイトがあれば、教えてください。
エントリーが1万オーバーのサイトはそこら中にあると思いますが、10万を越えるサイトはさすがに知りません。あるとしても、広告目的のスパムブログだと思います 😉
5.制限でなくても、もうこのワードプレスいっぱいだから、新しいの作ろう。と考えた事がある人がいたら聞きたいのですが、「いっぱい」というイメージは、どういう時にそう思ったか、教えてください。
エントリー数よりも、アクセス数が多くてサーバー負荷が耐えられなくなったという事例はいくつかあるようです。
lilyfanさん、丁寧な解説ありがとうございます。いろいろな事に気づく事ができました。
PHP で扱うメモリ容量の制限にひっかかってエラーになる可能性があります。
php.iniのmemory_limitですね。現行のものだと128Mのようですが、レンタルサーバ等の環境に左右されそうですね
10万エントリーぐらい作ってもメモリーオーバーはないと思います。
キャッシュする場合には、キャッシュディレクトリ内のファイル数上限に引っかかる可能性がきになりましたが、10万エントリ作る事はないですから気にする事もないと思いました。
タイトル: text (65535バイト)
本文: longtext (4294967295バイト)
これはびっくりデスね。こういうことあんまり考えた事なかったので、、、
ちょっと本題からずれますが、
タイトルにも、htmlタグやら、画像やら、何でも入ってしまうのに、驚愕。
「エントリの投稿だけならいいよ。」とは、言えないかも知れませんね。
権限毎の、入力の制限の内容を調べたいと思っています。
タイトルの表示文字数やエントリの文字数の制限は、wordpress出かけるべき制限ではない(テーマファイルなどで制限すべきとか、)という考えなんでしょうか??
cite=”http://openlab.jp/k16/htmllint/explain.html#title-length”
仕様上は文字数制限などないのですが、あまり長いタイトルはWWWブラウザによってちょん切られることがあるそうです。しかし、最低でも 64文字は可能なように、とのお達しがRFC1866(J)にあります
">は、何の記号ですかね?
UTF-8 の波ダッシュ問題とか、こちらの方が要注意
知識不足なのですが、文字コードの変更とか、この文字があるとかないとか、という「ベテランズ」な問題だとすれば、これから出会うのかもしれないそれに、びびってます。
もう少し、先人のアドバイスを聞いてみたいので、解決を保留しておきます。
ありがとうございました。