From 3755d8db5073a1a15c53fa376bc72dbedaf2a967 Mon Sep 17 00:00:00 2001 From: Hammat Wele Date: Fri, 28 Apr 2023 22:21:12 +0000 Subject: [PATCH] Bug 33317: Add system preference to set meta robots for the OPAC Websites must have a robots meta tag to improve search engine crawling, so we could tell search engines to not index OPAC pages for example. To test: 1) Look at opac-main source and see that meta name=robots is missing. 2) Apply patch. 3) Run ./installer/data/mysql/updatedatabase.pl 4) Go to system preferences > OPAC and add some directives to OpacMetaRobots (ex: noindex,nofollow). 5) Look at opac-main source and confirm that meta name=robots now has content equal to the text set in the OpacMetaRobots system preference. 6) This should Prevent search engines from indexing Opac pages (if OpacMetaRobots is set to noindex) Signed-off-by: Owen Leonard --- installer/data/mysql/atomicupdate/bug_33317.pl | 14 ++++++++++++++ installer/data/mysql/mandatory/sysprefs.sql | 1 + .../prog/en/modules/admin/preferences/opac.pref | 4 ++++ .../bootstrap/en/includes/doc-head-close.inc | 3 +++ 4 files changed, 22 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug_33317.pl diff --git a/installer/data/mysql/atomicupdate/bug_33317.pl b/installer/data/mysql/atomicupdate/bug_33317.pl new file mode 100644 index 0000000000..edffff480d --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_33317.pl @@ -0,0 +1,14 @@ +use Modern::Perl; + +return { + bug_number => "33317", + description => "Add new system preference OpacMetaRobots", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + $dbh->do(q{INSERT IGNORE INTO systempreferences (variable, value, options, explanation, type) VALUES ('OpacMetaRobots','','','Improve search engine crawling.', 'Textarea') }); + + say $out "Added system preference 'OpacMetaRobots'"; + }, +}; \ No newline at end of file diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index b58114d802..7eee94579c 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -493,6 +493,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OpacMaintenance','0','','If ON, enables maintenance warning in OPAC','YesNo'), ('OpacMaxItemsToDisplay','50','','Max items to display at the OPAC on a biblio detail','Integer'), ('OpacMetaDescription','','','This description will show in search engine results (160 characters).','Textarea'), +('OpacMetaRobots','','','Improve search engine crawling.','Textarea'), ('OPACMySummaryHTML','','70|10','Enter the HTML that will appear in a column on the \'my summary\' and \'my checkout history\' tabs when a user is logged in to the OPAC. Enter {BIBLIONUMBER}, {TITLE}, {AUTHOR}, or {ISBN} in place of their respective variables in the HTML. Leave blank to disable.','Textarea'), ('OpacNewsLibrarySelect','0','','Show selector for branches on OPAC news page','YesNo'), ('OpacNoItemTypeImages','0',NULL,'If ON, disables itemtype images in the OPAC','YesNo'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index 5b2e544418..4cc4c20e30 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -60,6 +60,10 @@ OPAC: - "This description will show in search engine results (160 characters)." - pref: OpacMetaDescription type: textarea + - + - "Improve search engine crawling." + - pref: OpacMetaRobots + type: textarea - - By default, show bibliographic records - pref: BiblioDefaultView diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc index 402633854b..a4a0d85fbe 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc @@ -10,6 +10,9 @@ [% IF ( Koha.Preference('OpacMetaDescription') ) %] [% END %] +[% IF ( Koha.Preference('OpacMetaRobots') ) %] + +[% END %] [% IF ( Koha.Preference('opaclayoutstylesheet') && Koha.Preference('opaclayoutstylesheet') != "opac.css" ) %] -- 2.30.2