【PKOBO_FAQ】PHPよくある質問(FAQ)CMSプログラム フリー(無料)
まえがき
既存のホームページに「よくある質問(FAQ)」を簡単に追加・更新できるCMSプログラムです。
管理画面から質問と回答を登録するだけで、FAQページを手軽に作成できます。
データベース不要の軽量設計なので、WordPressを導入するほどではない小規模サイトや、既存サイトの一部にFAQを追加したい場合に最適です。
スマホ(スマートフォン)にももちろん対応しています。(管理画面、表示側とも)
不具合やお気づきの点がございましたら遠慮なくご連絡いただけますと幸いです。また使用感やこのページでの間違い、分かりにくい点等ありましたらお知らせいただけたら大変ありがたいです。いずれもお問い合わせよりご連絡いただければと存じます。
主な機能
・FAQの登録、編集、削除
・カテゴリの登録、編集、削除
・カテゴリ別FAQ表示
・特定カテゴリのみのFAQ表示
・管理画面ログイン機能
・スマホ対応
・データベース不要
・HTML、CSSの自由な編集
・既存ページへの埋め込み対応
主な特徴
- 個人・商用問わずどんなサイトでも無料でご使用いただけます。
クライアントへの納品などでももちろんOKです。事前、事後の報告も一切不要です。
デフォルトでは全ページ下部に著作権リンク(クレジット)が表示されます。著作権リンク(クレジット)の削除申請については2,000円+消費税となります。こちらよりお申し込みください
- 会社のサイト、店舗サイト、士業サイト、病院・クリニック、スクール、自治会、サービス紹介ページなど、さまざまなサイトの「よくある質問」ページに利用できます。
- 必要最低限のシンプルなレスポンシブ設計です。無駄な装飾(CSS)を極力排除しているため、既存サイトのデザインに合わせたスタイル調整(カスタマイズ)が非常にスムーズです。もちろんスマホ表示にも完全対応しています。
- データベースやPEAR、特殊なライブラリなどは一切不要です。PHPが動作する環境であればほとんどのサーバーで動作し、また軽量なため軽快に動作します。(WPなどのようなモッサリ感はありません)
(PHP5.1~8.5.5まで動作確認済)
- MySQLなどのデータベース設定が不要なため、FTPでアップロードするだけで利用できます。サーバー移転やバックアップはファイルをダウンロードするだけで完了です。
- 安全なエスケープ処理(XSS対策)や、セッション管理による安全な管理画面ログイン機能を標準搭載しています。
- 管理画面から直感的にどなたでも簡単に更新できます。PCはもちろん、スマホでも更新可能です。クライアント自身でFAQを更新したい場合に便利です。管理画面のURLだけを案内すれば、HTMLを編集せずに質問・回答を追加できます。
- カテゴリ機能も付いてますのでカテゴリごとに分けて表示することができます。
たとえば「料金について」「サービスについて」「お申し込みについて」など、内容ごとにFAQを分けて表示出来ます。また、特定のページに特定のカテゴリのみ表示するという用途にも対応しますので「サービスページにはサービス関連のFAQだけを表示」「採用ページには採用関連のFAQだけを表示」といった使い方も可能です。
もちろんカテゴリを使わないで運用することも可能です。
サンプルデモ
管理画面サンプルデモ
ユーザID:admin
パスワード:13971397
自由に登録してみてください。下記のページに反映されます。
表示側
html、CSSとも必要最低限としています。必要に応じて自由に調整ください。
よくある質問(FAQ)の表示サンプルデモ
特定のカテゴリのみを表示するサンプルデモ
※サンプルではカテゴリIDが1のデータのみ表示しています。(カテゴリIDは自由に変更できるようになっています)
プログラムダウンロード
事前にご利用規約をご確認、ご同意下さい。
クリックで自分のPCにダウンロード保存して下さい。または右クリック⇒「対象をファイルに保存」
PKOBO_FAQ.zip(約57.7KB)
文字コードはUTF-8です。
設置方法
ファイルの文字コードはUTF-8です。必ず対応したエディタで開いてください。
メモ帳(UTF-8非対応)は使用禁止です。TeraPad(無料)やDreamWeaver等で開いてください。
(そこまで意識する機会はありませんが、必ずBOM無しで保存して下さい。※多くのエディタのデフォルトはBOM無しのはずです。BOMについて詳しく知りたい方はこちら)
※ PHPでは、スラッシュ2回「//」の後からその行の末尾までがコメント扱いとなります。「#」、「/**/」もです。
1.ダウンロードファイルを解凍する
zipファイルになっていますので解凍下さい。解凍ソフトは何でも構いません。Windowsであれば標準で付いている「展開」などでもOKです。
2.ファイル構成と各ファイルの説明
■色のものはパーミッション変更が必要な場合があります。
一般的なレンタルサーバーであれば、パーミッションの変更はほぼ必要ありません。稀にサーバーによっては変更が必要な場合があります。パーミッションが正しいかどうかは簡単にチェックできます。管理画面から正常に登録ができていればOKということです。
| faq.php |
よくある質問を一覧で表示するページです。ファイル内にもコメントで書いていますが、カテゴリを使用する場合と使用しない場合の2パターンのソースコードがありますので用途に合わせて使い分けてください。
カテゴリを使用する場合はカテゴリごとに分けて表示されます。
基本的には既存のページに埋め込むことになると思いますので、最上部のPHP、JS、CSSもコピペしてください。CSSは必要最低限としています。自由に変更ください。 |
| faq_category.php |
特定のカテゴリのみ表示したい場合用のファイルです。
たとえば特定のページに特定のカテゴリのみ表示する場合にこちらのファイルのソースコードをご利用ください。
たとえば「サービス」のページには「サービス」カテゴリのみ表示するというようなことを想定しています。 |
| ┗ pkobo_faq/ |
システム全体のディレクトリです。リネームは可能ですが、変更した場合、各表示側ファイルのパス部分も変更が必要です。検索、置換などで対応下さい。 |
| ┗ admin/ |
管理画面です。登録や変更、削除を行います。クライアントにはこのURLだけを教えることになるかと思います。 |
| ┗ admin/include/config.php |
設定ファイル。管理画面ログイン情報の設定やその他設定が可能です。
エディタで開きコメントを参考に必要に応じて設定下さい。
特にログイン情報は必ず変更下さい。
|
| ┗ admin/内その他ファイル |
すべて必要なファイルになりますが意識する機会はないと思います。特に触らずそのままアップ下さい。特に「copy.inc」は触らないで下さい。システムエラーが発生します。 |
| ┗ data/ |
データ保存用ディレクトリ |
| ┗ faq.dat |
FAQデータを保存するファイル(必要に応じてパーミッション666等書き込み可能なものに) |
| ┗ faq_category.dat |
カテゴリデータを保存するファイル(必要に応じてパーミッション666等書き込み可能なものに) |
3, ユーザID、パスワードを設定する
admin/include/config.phpをエディタソフトで開き、ログインのためのID、パスワードを変更してください。
必ず変更してください。(半角の英数字、記号が設定可能です)
※パスワードはできるだけ13文字以上かつ大文字、小文字のローマ字、数字、記号(+_?*等)などを含めて下さい。
その他必要に応じてコメントを参考に設定してください。
4, FTPでアップ
すべてのファイルをアップしてください。
上記の■色のファイル、ディレクトリのパーミッションを変更下さい。
パーミッションは基本的に変更不要なサーバーがほとんどです。
パーミッションが異常の場合には、管理画面で警告メッセージが表示されますので、すぐに気づくことができます。
逆に正常に管理画面が表示されて、登録もできていれば、正常なパーミッションになっていると考えてOKです。
5,ブラウザで確認
「あなたのサイトのURL(設置した階層)」/pkobo_faq/admin/を表示し、管理画面にログイン後、更新を行ってみてください。正常に更新ができればOKです。
表示側のページも確認下さい。
6, ページの調整
既存サイトのHTML構造やクラス名に合わせて、スタイルシート(CSS)やHTMLを100%自由にカスタマイズ可能です。既存のデザインを崩すことなく、綺麗に溶け込ませることができます。
こちらでも十分に検証を行なっておりますが、配布直後は未知のバグが無いとも限りません。お気づきの点がございましたらご連絡いただけますと幸いです。
著作権表示リンク削除について(2,000円+消費税/1サイト)
デフォルトでは全ページの下部に著作権表示リンク(クレジット)表示があります。
クライアントへの納品や商用サイトでPHP工房への著作権表示リンク(クレジット)を表示したくない場合は、削除申請を行ってください。
1サイトあたり2,000円+消費税のライセンス料金が必要になります。
お支払いいただけた場合、すべてのページでクレジットが削除されます。
サイトごとのライセンスとなりますので2サイト目以降は都度料金が必要になります。
尚、プログラム自体に変更を要するものではございませんので、すでに導入済みであればそのままお使いいただけます。登録データも維持されます。
著作権リンク削除申込はこちらです(銀行振込)
クレジットカードでのお支払いはこちら
(完全自動化によりクレジットカード払いの場合、決済完了後即ダウンロード可能です。手数料無し)
動作確認済PHPバージョン
PHP5.1~PHP8.5.5まで対応(2026/06/10現在)
※古いPHP環境にも配慮していますが、可能であればPHP7以降でのご利用をおすすめします。
動作確認済レンタルサーバー
- エックスサーバー [PR]

※個人的にはここが好きで、もうずっとここです。このサーバーで困ることはまずないでしょう。
- ロリポップ! [PR]

※ただしここはWAF機能がONの場合、CMSプログラムで問題が発生する可能性が高いです。詳細はこちら
またサーバーがブラックリストに登録されてしまいメール系のプログラムで受信できない大問題も多々確認されています。詳細はこちら ただコスパ的には有りだと思います。
- カゴヤのレンタルサーバー [PR]

ここは高機能、高スペック、良心的な価格でありながら風俗系のサイトがOKという非常に貴重なサーバーです。個人的には風俗系のサイトであればこのサーバー以外の選択肢はないと思ってます。
- さくらのレンタルサーバ [PR]

その他一般的なレンタルサーバーであれば問題なく動作するはずですが、
すべての環境(サーバー)での動作を保証するものではありませんのでご了承下さい。
問題が出る可能性が高い、またはそのままでは必ず問題が出ることが分かっているサーバー
※現状私自身が把握している範囲です。(実際に確認していますのでちゃんと根拠もあります)
1,Yahoo系(ジオプラス、ウェブホスティングとも)※Softbankも含む
2,KDDI系(CPI含む)
3,NTT系(WebArena(suiteX)、NTTビズリンク(BizLink))
※プロバイダー系は特に問題が多いです。(個人的には絶対に借りてはいけないと考えています)
4,スマイルサーバー
5,ファーストサーバ
特にCPI、NTT系、スマイルサーバー、ファーストサーバで問題がある場合はこちらも参照下さい
経験上、結局は「餅は餅屋です」。プロバイダー系はプラン、金額に関係なく特に問題が多いです。サーバーの問題で時間を取られるのは非常に無駄ですし、その先ずっと影響しますのでサーバー選びは慎重にされることをオススメします。
特に理由がなければあえてこれらのサーバーは借りないほうが得策でしょう。高いから良い、安いからダメという安易なものでもありませんので難しいところですね。(まぁ安いには安いなりの理由があるのですが・・)
よくある質問
FAQPage構造化データは出力できますか?
現在、FAQPage構造化データの出力には対応しておりません。
Googleは2026年5月7日以降、FAQのリッチリザルトを検索結果に表示しない方針を発表しており、関連するリッチリザルトテストやSearch Consoleのレポート機能も順次サポート終了となっています。
そのため、本CMSでは実用上のメリットが少ないと判断し、FAQPage構造化データの出力機能は実装しておりません。
その上でもしご希望でしたら2,000円+消費税にてソースコードを提供させていただきますのでお問い合わせ下さい。
不具合関連
管理画面で投稿やページ遷移するとログイン画面が表示される
ログインにはPHPの「セッション(session)」機能を使用しています。
設置サーバーでPHPの「セッション(session)」機能が有効で無い場合、本プログラムは使用不可になります。
ただ、一般的なレンタルサーバーであればまず問題とはなりません。
よくあるミスとしてはファイルをBOM有りで保存してしまったというのがあります。
BOM有りで保存してしまうとセッションが維持できずページを移動するとログイン画面が表示されます。
Windows標準のメモ帳で開いて保存するとBOM有りとなりますのでメモ帳はPHPファイルでは絶対に使用してはいけません。
TeraPadなどのエディタソフトを使用して下さい。またTeraPadの場合は「UTF-8N」で保存して下さい。
BOMについては以下ページをご参照下さい。
https://www.php-factory.net/trivia/03.php
管理画面で投稿やページ遷移するとログイン画面が表示される場合がある(不定期に)
ログインにはPHPのセッションというものを使用しています。このセッションは定期的に削除されるようになってます。
セッションの性質としてデフォルトではログイン後、ページ遷移せずに24分が経過した場合、100分の1の確率でセッションファイルが削除されます。
※セッションファイルが増えすぎないようにするための仕様です。
要するにログイン後そのまま放置して24分以上経ってから他のページに移動しようとするとログイン画面が表示されてしまう場合があるということになります。
ただ、実際に24分以上も放置することは少ないと思いますし、
また確率的に削除されることは非常に稀です。
ですので、頻繁に発生する場合は少なくともこの仕様が影響しているとは考えづらいです。
その他考えられる原因としては
セッションファイルの保存先のディレクトリが
他のシステムでも使われていて、
それの影響で削除されてしまっているのかもしれません。
それを回避する方法を以下に記載しますので、お試しいただければと思います。
1,セッションの有効期限を延長して、セッションファイルの保存用ディレクトリを指定する
設定ファイル(config.php)の一番下の方にでも以下2行をコピペして追加して下さい。
ini_set( 'session.gc_maxlifetime', 14400 ); // 秒(デフォルト:1440)
session_save_path( dirname(__FILE__) .'/../session' );
これでセッションの有効期限が240分となります。
また、セッションファイルの保存先がadmin/session/になります。
2,セッションファイル保存用ディレクトリを用意する
admin/内にsessionという空のディレクトリ(フォルダ)を1つ作って下さい。
次にadmin/include/内にある.htaccessファイルをコピーして
作成したsession/ディレクトリ内に入れて下さい。
※セッションファイルにアクセス出来ないようにするためです。(必ず実施して下さい)
以上。
これで一度管理画面からログアウトしてログインしてみて下さい。
ログイン出来て、またadmin/session/内にセッション用のファイル(ランダム文字のファイル名です)が生成されていればOKです。
これでしばらく様子を見てみて下さい。
ご利用について
HTMLやCSSなどをある程度理解されている方を対象としています。
設置、カスタマイズ方法などのサポートは行っておりませんのでご了承ください。
設置法、HTMLタグ、CSS等に関するサポートは申し訳ありませんが有料にて承ります。
カスタマイズについてもすべてお見積りの上で有償対応となります。
もちろん不具合などがありましたら遠慮なく何でもご相談ください。
不具合などのお問い合せはこちら
有料サポートはこちら
ご利用規約
・無料版プログラムはフリーウェアです。ただし、著作権は放棄するものではありません。
・プログラムの著作権表示リンク(ページ下部にある当サイトへのリンク)を無断で削除することはできません。
(一律2,000円+消費税の削除依頼をいただいた場合を除く)
・プログラムの再配布、再販売は禁止です。
※ただしクライアントへの納品などでシステム費用、設置費用として請求されるのは問題ありません。
・プログラムによって何らかの不利益、損害が生じても一切の責任を負いません。
あらかじめご了承の上ご使用ください。
もし何らかのトラブルがあった場合には、ご相談いただければ解決策が見つかるかもしれません。
(クライアントへの原因の説明など)
・プログラムは全ての環境(サーバー)での動作を保証するものではありません。
・改変等は自由ですが、自己責任でお願いします。
・有料版をご購入いただいた場合、初期不良を除き、ご使用後の返金には応じ兼ねます。
・有料版(著作権リンク削除含む)は1サイト(同一ドメイン)内であれば複製の上で複数利用可能です。
2サイト目以降は都度サイトより購入申込みが必要になります。
※サブドメインはその性質上、別サイト(別ドメイン)とみなします。
ダウンロードいただいた時点で利用規約に同意したものとみなされます。
カスタマイズ、設置代行について
どのようなカスタマイズでもまずはお気軽にご相談下さい。お見積りをお出しします。
設置のご依頼・カスタマイズお見積もりの詳細はこちらです
実施しているセキュリティ対策について
当プログラムで行なっている対策をご紹介します。
一般的に考えうるリスクには対策を施しています。無料版だからこのぐらいでいいだろうというような妥協は一切していません。
注意事項(大前提としまして)
このシステムは管理者が更新を行うCMSシステムです。特定の人間(社内や管理者のみなど)のみが更新することを前提としています。不特定多数の人間が投稿できるような一般公開型の掲示板のような使用は絶対に行わないで下さい。
具体的な対策(この下に展開されます)
クロスサイト・スクリプティング対策(XSS)
表示側ではすべての表示要素に対してhtmlspecialcharsにて適切にエスケープ(サニタイズ)していますので、ページ上でHTMLタグ類が有効になることはありません。
唯一このシステムの都合上、本文入力欄のみHTMLを有効にする必要がありますので、この部分については、サニタイズを実施していません。
ただ、これはCMSの仕様上、管理者しか更新しないことを想定していますので、それが即問題となることではありませんし(管理者があえて閲覧者に危害を加えるようなものを記述することは無いと思いますので)、また下記「CSRF対策」も行なっていますので、問題ないと考えています。
クロスサイトリクエストフォージェリ対策(CSRFまたはXSRF)
投稿時、変更時、削除時ともワンタイムトークンにより、外部サイト経由でのCSRFを防止しています。
もちろん管理画面はそもそもログイン認証が必要なため、基本的にはそのようなことは発生しませんが、ログイン中のユーザーを悪意のある第三者が作成したページに誘導されてしまい任意のスクリプトを実行させることでデータ改ざんされてしまうというCSRFに対する対策になります。
またアップファイルは設定ファイルで指定したもののみ可能(ホワイトリスト式)となっていますので、PHPファイルやhtaccessなどがアップされてしまうこともありません。(逆に必要なファイル以外は許可しないで下さい)
またアップファイルは拡張子も含め強制的にリネームされますので、ファイル名による攻撃は完全に防ぎます。
ディレクトリトラバーサル対策
大前提としてアップファイルの元ファイル名は一切利用せず、すべて完全に一意のファイル名にリネームされ、ディレクトリを表すような文字列「/」や「..」などが有効になることはありません。また保存先も固定値としておりますので、意図しないディレクトリへのアップロードは出来ない設計になっています。(保存時は元ファイル名$_FILE[]['name']は使用していません「tmp_name」を使用しています)
またアップされるファイルの拡張子についても制限を設けています。(ホワイトリスト式で設定ファイルで設定可)また拡張子はシステム側で付与していますので、ファイル名で拡張子「.」が2つ以上になることもありません。(○○.php.jpgとされた場合にPHPコードが実行される脆弱性への対策など)
まぁそもそもCSRF(対策済)や管理画面がハックされない限り管理者が意図しないファイルをアップされるリスクはほぼありませんが、念には念の対策を行なっています。まぁ仮にハックされたとしても危ないファイルはアップできないためそもそもこの脆弱性自体は存在しないことになります。(管理画面がハックされた場合、当然記事を改ざんされるなどはあるかもしれませんが)
ログイン認証クラックの対策
ログインにはユーザーID、パスワードの入力が必要ですが、総当りされてしまうと現実的にはいつかは突破されるリスクがあります。そのためパスワードは出来る限り推測困難かつ長い文字列で設定することが最も重要な対策となりますが、ID、パスワードの入力ミスが特定回数連続で起こった場合には強制終了し、詳しい仕様はお伝えできませんが、総当りを連続で行えないような実装を行っています。
もしクライアントなど正規のユーザーが忘れてしまったなどでそういった事態に陥った場合には、設定ファイルでの正確なログイン情報を伝えて下さい。
またデータベースは使用していませんのでログイン情報はPHPファイル内にしか存在しないため漏洩のリスクは限りなく低いです。
(上記でも述べましたが、よりセキュリティを上げるため設定ファイルconfig.phpのパーミッションを444に設定下さい)
インジェクション対策
データベースは使用していないため基本的には問題ありませんが、セキュリティ上具体的には言えませんがパラメータは厳密にチェックしています。イレギュラーがあれば即強制終了します。まぁ個人情報を含むようなシステムではありませんのであえてこれを行うほど暇な人がいるとは思えませんが、念には念の対策を行なっています。
セキュリティには十分に配慮していますが、問題点などがございましたら遠慮なくご指摘いただけたらと思います。
更新履歴
2026.06.10 v1.0.0 プログラムのリリースを開始