インストール
・ドメイン設定後にまずphpを8.0に設定。
・SoftaculousかInstallatronでインストール。データベースは、詳細設定で分かりやすい名前をつけておく。
・もしくは、インストーラでインストールするか、akeebaファイルからkickstartでインストールする。その後、SoftaculousかInstallatronに登録する。
・カラフルボックスは、cpanelだけでなく、マイページでDNSゾーンの設定が必要。
DNS
mixhost:ns1.mixhost.jp, ns2.mixhost.jp
カラフルボックス:ns1.cbsv.jp、ns2.cbsv.jp
middle host:ns1.middlehost.com,ns2.middlehost.com,ns3.middlehost.com,ns4.middlehost.com
・アドオンドメインのドキュメントルートをpublic_htmlと並列におけるかを初めに確かめる。おけるようなら、public_htmlにメインドメインのファイルを置いて何の問題も無い。
・public_htmlの下にしかアドオンドメインのドキュメントルートを置けいない場合は、cpanelのプライマリードメインをサブディレクトリにリライトしてインストールする方が綺麗。このとき、joomlaのconfigulation.phpのlive_siteを明示する必要がある。これは、joomlaは自動的にホームページのurlを推定するため、https://maydomain/subdirをホームページとしてしまうため。
インストール後初期設定
・時計を東京にする。
・ユーザーを作成する必要の無いサイトは、新規ユーザーの作成を禁止にする。(グローバル設定からユーザに行く。デフォルトは禁止のようだ。)
・SoftaculousかInstallatronに登録し、バックアップの設定をする。
・SSLをサイト全体に強制する。
・セッション有効時間が短いと作業をしにくいので、少なくともサイト構築中は60分程度にする。
・svgをアップロード出来るように設定する。このサイトのメディアオプションで設定してあるから、参考に出来る。
While in Joomla 3 there was a conspicuous absence of any SVG support — or even the possibility to add it without using third party extensions — this is perfectly possible in Joomla 4 as long as you manually enable it. Go to Content, Media and click on Options. Change the Legal Image Extensions (File Types) to include SVG i.e. change it to:
bmp,gif,jpg,png,svg
If you have enabled Restrict Uploads (you should!) also change the Allowed Extensions to include svg i.e.:
bmp,gif,jpg,jpeg,png,webp,ico,mp3,mp4,odg,odp,ods,odt,pdf,png,ppt,txt,xcf,xls,csv,svg
If you have enabled Check MIME Types you will also need to add image/svg+xml to Legal MIME Types, i.e.:
image/jpeg,image/gif,image/png,image/bmp,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/x-zip,image/svg+xml
Click on Save & Close. Now Joomla allows you to upload SVG files and to use them wherever an image is allowed to be inserted.
プレビューはこれを使う。https://github.com/nikosdion/joomlasvg
チュートリアルはこれ。
・記事のバージョンを50くらいにする。記事のオプションのレイアウトの編集で設定できる。
・記事のデフォルト設定を筆者などを表示しないにする。記事のオプションの記事で設定できる。
・ユーザーアクションログのIPアドレスをオン。グローバル設定のユーザーアクションログから設定できる。
・ユーザーアクションログプラグインの日数を30ー90日に設定(J5からシステムのタスクとして管理されるようになった)
https://forum.joomla.org/viewtopic.php?t=1005032
・Gzipをオン
・キャッシュをオン
・デバッグ時を除いて、グローバル設定のエラー出力を「なし」にしておく。無限ループでエラーファイルが膨大になり、サーバーを止めることがある。
サイトセキュリティーとバックアップ
バックアップ
ダウンロードIDをakeebaからコピペ。
バックアップフォルダを上に作って、そこをバックアップフォルダにする。
インストール後、daily,weekly,monthlyを作り、クオータとftpの設定をする。
cpanelからcronの設定を行う。
logファイルが非常に大きいので、なしに設定しておく。
バックアップディレクトリは、ドキュメントルートにbackupディレクトリを作り、そこを指定する。セキュリティーが向上する。また、そうしないと、Softaculousがバックアップも含めてバックアップするため、ファイルが非常に大きくなる。
・Joomla4のタスクスケジューラはうまくいかない。
・カラフルボックスのphpは、Joomla4から、/usr/local/bin/phpだとうまくいくようだ。Joomla3まではlocalがなくてもうまくいったが、なぜ4から変わったのかはよく分からない。ジョブのコマンドも違っている。
・mixhostに関しては、/usr/local/bin/php も/usr/bin/phpもうまくいかない。phpの方式にもいろいろあるようなので、そのせいかもしれない。admin toolsが邪魔をしている可能性もあるので、真っ白なサイトで試してみたい。しかし、カラフルボックスはadmin toolsが活きていても動いているし、同じベンターのエクステンションがコンフリクトすることも考えにくいので、mixhost特有の問題だろう。
(2022年10月12日(水)追記:mixhostでも/usr/local/bin/phpで通る。前回は違う問題で動いていなかった可能性がある。うまくいったのは、admintools,4seo導入前。)
同じサイトのバックアップphpがcronで偶然2つ走らない様に、注意した方がいい。これが原因で、ryt-bokko.comでバックアップジョブが暴走した可能性がある。
・ジョブの実行時間もcronが一番速い。バックグランドで走るため、いらない表示をする必要がないからか。
・mixhostでは、phpのcli版が使えないからか、cronでjoomla4のバックアップが取れない。打開策として、オプションからfront-endからのバックアップを有効にして、
/usr/bin/wget --max-redirect=10000 "http://www.yoursite.com/index.php?option=com_akeebabackup&
view=backup&key=YourSecretKey&profile=profile_id"
とすれば、うまくいく。シークレットキーは、かなり長くないといけないので、短く入れるとakeeba backupが自動生成して勧めてくる。admin toolsのhtaccess makerでwgetの禁止を外さないといけない。
(2022年10月12日(水)追記:mixhostでも/usr/local/bin/phpで通る。前回は違う問題で動いていなかった可能性がある。うまくいったのは、admintools,4seo導入前。)
プラグインからログを取るようにする。
海外サーバーでcronを使う場合は、timezoneに注意する。ターミナルからdateを実行すれば、サーバーの時間が分かるので、時差を考えてcronの設定をする。
セキュリティー
(テンプレートサイトの場合は、以下の設定はあとから行う。)
ログインページは空欄にしてセットアップする。
WAFでtemp=fooはオフの方がよさそう。
WAFでJoomlaのmetaを適当な制作会社に置き換える。
WAFで特定のIPアドレスから以外のアクセスを禁止するをOFFにする。
wwwなしに統一。
/index.phpをホームに転送。
プラグインからログを取るようにする。
4SEOと使う場合は、
1)Exceptions
Allow direct access to these files:
media/com_forseo/vendor/weeblr/forseo/assets/sitemap/sitemap-4seo.xsl
2) Custom htaccess rules
Custom htaccess rules at the top of the file:
## 4SEO Sitemap ##
RewriteRule ^sitemap\-4seo\.xml$ – [L]
RewriteRule ^sitemap\.en\-GB\.4seo\.1\.xml\.gz$ – [L]
RewriteRule ^sitemap\.en\-GB\.4seo\.2\.xml\.gz$ – [L]
RewriteRule ^sitemap\.en\-GB\.4seo\.3\.xml\.gz$ – [L]
## 4SEO Sitemap ##
とする。
https://www.akeeba.com/support/admin-tools/36203:weeblr-4seo-sitemap.html
この方法はうまくいかない。
https://www.akeeba.com/support/admin-tools/37161-htaccess.html
による
“Frontend file types allowed in selected directories”
に
xml, xsl and xslt
を加える方法か、
https://weeblr.com/doc/products.forseo/current/troubleshooting/
による
In the Exceptions from Server Protection section, add a record for the file media/com_forseo/vendor/weeblr/forseo/assets/sitemap/sitemap-4seo.xsl
かつ
Custom htaccess rules at the top of the file
に
## 4SEO Sitemap ## RewriteCond %{REQUEST_FILENAME} ^sitemap\-4seo\.xml$ RewriteCond %{REQUEST_FILENAME} ^sitemap\.[a-zA-Z-].4seo\.[0-9]+\.xml\.gz$ RewriteRule .* index.php [L] ## 4SEO Sitemap ##
を加える方法がある。
どちらも試したが、どちらかだけでもうまくいくし、両方やってもうまくいく。
(令和4年10月16日(日)追記)
admin toolsがデフォルトで、4SEOとのコンフリクトがなくなったようだ。
どちらでどういう変更がなされたのかはよく分からないが、触らなければよいので、問題ない。
4SEOのpageアナリシスでページがなくなる問題もなくなっている。もしかすると、rcyt.yogaのときに、触るべきでないところを間違って触った可能性がある。
mysites.guruの"Allow direct access, including .php files, to these directories"に"plugins/system/bfnetwork"はまだ必要。
cronを使ったバックアップもうまくいく。どうもrcyt.yogaの時はインストールの仕方を間違えたか、どこかで触ってはいけないファイルを触ったかしたようだ。kanayoga.netでうまくいっているので、時間をかければ、解決出来そう。
インストールはsoftaculousで0から行い、必要な部品をjsonで入れていく方が、うまくいきそうな感じである。
カラフルボックスで利用の場合
Custom htaccess rules at the top of the fileに
RewriteRule ^deleteme\.(.*)\.php$ - [L] (installatronのバックアップ機能を働かせるため)
と元のhtaccessをたす。さらに、
Allow direct access, including .php files, to these directories
に
plugins/system/bfnetwork
cache/com_quantummanager(Joomla4からbackendとfrontendの両方に入れないといけなくなった。)
をたす。
htaccessを作ったら、SEFの設定を行う。
Wgetを防ぐ記述がhtaccess makerにあるので、cronからwgetを呼びたいときは、外さないといけない。ただし、curlは禁止されていないので、curlで代用するのが良さそうだ。
共通性の高いソフトのインストール
メディアマネージャー
インストール後、プラグインからYoothemeにつなげる。
アドミンツールズのhtアクセスのフロントエンドプロテクションをいいえにしないとサムネールが見られない。
インストール後、オプションからimageのリサイズを1280くらいにしておかないと、unsplashから大きなファイルが来てしまう。
エディター
keyはオプションのアップデートタブから入れる。
グローバル設定から標準エディタにする。
メールを送る場合、絶対パスにするパターンを作成して、対応エクステンションについて優先とする。
JCEはデフォルトで、registeredは使えないようだ。
表面からユーザーにJCEを使わせたい場合は、そのコンポーネントに対して特別のプロフィールを作り、registeredを利用可能にする必要がある。特に、Edocmanを使うときには必要になる。Joomlaの元々のtinyエディタはそうなっていない。
ページビルダー・テンプレート
サイトテンプレートスタイルをyoothemeデフォルトにすると、ダッシュボードにyoothemeのアイコンが現れる。そうしないと、記事を作ってもビルダーで編集可能にならない。
APIキーは、Yoothemeのページで作成して、ビルダーのセッティングから入れる。
ロゴを入れる。
webPを有効にする。(今はデフォのようだ。)
トップメニューをスティッキースクロールアップにする。
モバイルのメニューテキスト表示にする。(モバイル)
Menuからメニューの割り当てを適切に行う。
--icon
https://www.zoolanders.com/essentials-for-yootheme-pro/icons
yoothemeを立ち上げ、左側のメニューの一番下にESSENTIALという項目が加わっているので、ここのiconからワンクリックで追加する。
ダウンロードキーは、プラグインのInstaller - ZOOlandersから入力する。
--animator
https://flart.studio/yootheme-pro/animator
--Grid pro
https://flart.studio/yootheme-pro/grid-pro
この辺りまでを、テンプレートとしてSoftaculousかInstallatronに保存しておくのがいいだろう。
機能性コンポーネントのインストール
ここで、サイトの動作に関するコンポーネントをインストールして、サイトを作成する。
高速化
・Litespeed cache for joomla plugin を試してみる。
SEO・サイト監視関連
・4SEO
https://weeblr.com/joomla-seo/4seo
いろいろ入れるとコンフリクトがあるので、これを入れて設定すれば十分だろう。
タグ関連は、これで入れられる。
もしついかするとしたら、Google structured dataか。
・グーグルタグマネージャー、グーグルアナリティクスとグーグルサーチコンソールを設定。
・facebook pixelの設置 IDは他のサイトを参考に
・グーグルサーチコンソールは、グーグルタグマネージャーの設置の後に行うと、自動的に所有者として認識される。
(令和4年10月15日(土)追記)
・グーグルサーチコンソールは、integrationから数クリックで統合出来るようだ。ただ、うまくいってるかどうかは不明。
・facebook pixel, google tag manager,matomoはanalysisから簡単に統合できる。matomoは13等の数字とmatomoのurlを入れる。これはうまくいった。タグマネージャーは、GTM-XXXXXXXを入れるだけ。facebook pixelは数字を入れるだけ。
・pageはrun analysisをしたあと、速度を真ん中より上げる。
・pageのsettingからホームページの統一が出来る。
・リダイレクトの設定もできる。
・replaceでは、特定の言葉を他の言葉かリンクと置き換えられる。
・page analysisが修了したら、sitemapをリビルドするとしばらくして、サイトマップの作成が完了する。サイトマップが出来たら、グーグルサーチコンソールに入り、サイトマップの所から、"/sitemap-4seo.xml"を加える。すぐには反映されないが、500ページくらいのリストなら、10分くらいで認識される。中身は、gzファイルだが、googleのクローラーが自動的に展開して、ページを認識する。
・google structured dataのsettingからlocal buisinessを設定するとよい。また、newからarticleをautoで設定するとそれなりに機能する。しかし、easyblogがうまくいかないので、ここは、餅は餅屋で、
https://www.tassos.gr/joomla-extensions/google-structured-data-markup/docs/the-easyblog-integration
を用いた方がよいのかもしれない。ただし、google structured dataがどこまでSEOに効くのかはよく分からない。
admin toolsの"Allow direct access, including .php files, to these directories"に"plugins/system/bfnetwork"を足しておく。
スナップショットを撮って、さっと直せるところを直していく。
・Matomoの導入
・SEFURL
index.phpを取り除く設定を行うと動かなくなることがあった。何故か、.htmlを付ける設定を併用すると直った。cpanelのプライマリードメインをリダイレクトで使っていたからかもしれない。