From 10fa1a7cee8f207de5e662712a1f3591906a50c5 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) --- 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..c00112773b --- /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 f8fd314f2c..ab552c75b6 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -478,6 +478,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OpacMaintenanceNotice','','','A user-defined block of HTML to appear on screen when OpacMaintenace is enabled','Textarea'), ('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 dbb3095010..99917b70fd 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 @@ -66,6 +66,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 aad71ca835..8b101f3b10 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 @@ -8,6 +8,9 @@ [% IF ( Koha.Preference('OpacMetaDescription') ) %] [% END %] +[% IF ( Koha.Preference('OpacMetaRobots') ) %] + +[% END %] [% IF ( Koha.Preference('opaclayoutstylesheet') && Koha.Preference('opaclayoutstylesheet') != "opac.css" ) %] -- 2.34.1