Koha/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-browse.tt
Michał Kula 2273ac8080
Bug 35812: add noindex attribute to search result pages in OPAC
This will prevent search engines from putting the search results pages into their indexes, to prevent cluttering of the search results and give better visibility to the actual bibliographic records' pages.

Note that "noindex" is separate from "nofollow", meaning that the search engine is allowed to get and process the search results page and extract ("follow") further links from it, such as links to biblio records, which is exactly what we want.

This approach is better to the sitemaps, which search engines are free to choose whether to use or not, based on multiple factors such as the size of the page. In practice for small pages Google will just not download them at all, meaning that indexing by following links around is the only way the indexer will extract any links.

Note that for this to work properly, you must NOT block the affected pages in your robots.txt file (they're not blocked by default).

Also, this patch moves "cssinclude" block in opac-results.tt inside of <head>, because in all other templates it's inside, meaning its current positioning is a small mistake I fixed while at it.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-05-10 14:11:54 +02:00

125 lines
6.7 KiB
Text

[% USE Koha %]
[% USE Asset %]
[% USE raw %]
[% USE AdditionalContents %]
[% SET OpacNav = AdditionalContents.get( location => "OpacNav", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
[% SET OpacNavBottom = AdditionalContents.get( location => "OpacNavBottom", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Browse our catalog &rsaquo; [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
<meta name="robots" content="noindex">
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %][% END %]
[% INCLUDE 'bodytag.inc' bodyid='opac-browser' %]
[% INCLUDE 'masthead.inc' %]
<div class="main">
[% WRAPPER breadcrumbs %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
<span>Browse search</span>
[% END %]
[% END #/ WRAPPER breadcrumbs %]
<div class="container-fluid">
<div class="row">
[% IF ( OpacNav || OpacNavBottom ) %]
<div class="col-lg-2">
<div id="navigation">
[% INCLUDE 'navigation.inc' %]
</div>
</div>
[% END %]
[% IF ( OpacNav ) %]
<div class="col-10 order-first order-md-first order-lg-2">
[% ELSE %]
<div class="col order-first order-md-first order-lg-2">
[% END %]
[% IF Koha.Preference('SearchEngine') == 'Elasticsearch' && Koha.Preference('OpacBrowseSearch') %]
<div id="browse-search" class="maincontent">
<h1>Browse search</h1>
<form method="get">
<legend class="sr-only">Browse search</legend>
<div class="form-row">
<div class="col">
<label for="browse-searchterm">Search for:</label>
<input type="search" id="browse-searchterm" class="form-control" name="searchterm" value="" />
</div> <!-- /.col-12.col-sm-9 -->
<div class="col-auto">
<label for="browse-searchfield">Search type:</label>
<select id="browse-searchfield" name="searchfield" class="form-control">
<option value="author">Author</option>
<option value="subject">Subject</option>
<option value="title">Title</option>
</select>
</div> <!-- /.col-auto -->
</div> <!-- /.form-row -->
<div class="form-row">
<div class="col">
<div id="browse-searchfuzziness">
<div class="form-check form-check-inline">
<label for="exact" class="form-check-label">
<input class="form-check-input" type="radio" name="browse-searchfuzziness" id="exact" value="0" />Exact
</label>
</div> <!-- /.form-check.form-check-inline -->
<div class="form-check form-check-inline">
<label for="fuzzy" class="form-check-label">
<input class="form-check-input" type="radio" name="browse-searchfuzziness" id="fuzzy" value="1" checked="checked" /> Fuzzy
</label>
</div> <!-- /.form-check.form-check-inline -->
<div class="form-check form-check-inline">
<label for="reallyfuzzy" class="form-check-label">
<input class="form-check-input" type="radio" name="browse-searchfuzziness" id="reallyfuzzy" value="2" /> Really fuzzy
</label>
</div> <!-- /.form-check.form-check-inline -->
</div> <!-- /#browse-searchfuzziness -->
</div> <!-- /.col -->
</div> <!-- /.form-row -->
<div class="form-row">
<div class="col">
<button class="btn btn-primary" type="submit" accesskey="s">Search</button>
</div>
</div>
</form>
<div id="browse-suggestionserror" class="alert alert-warning d-none" role="alert">
An error occurred, please try again.
</div>
<div id="browse-resultswrapper" class="d-none">
<h2>Results</h2>
<div class="loading d-none"><img src="[% interface | html %]/[% theme |html %]/images/loading.gif" alt=""> Loading</div>
<div class="alert alert-warning no-results d-none" role="alert">Sorry, there are no results. Try a different search term.</div>
<div class="accordion" id="browse-searchresults">
<div id="card_template" class="card">
<div class="card-header" id="heading">
<a class="expand-result" href="#" data-toggle="collapse" aria-expanded="false" aria-controls="collapse">
</a>
</div> <!-- /#heading.card-header -->
<div id="collapse" class="collapse" aria-labelledby="heading" data-parent="#browse-searchresults">
<div class="card-body">
</div>
</div> <!-- /#collapse.collapse -->
</div> <!-- /#card_template.card -->
</div> <!-- /#browse-searchresults.accordion -->
</div><!-- / #browse-resultswrapper -->
</div><!-- /#browse-search -->
[% ELSE %]
<h1>Browse search</h1>
<div class="alert alert-info">
This feature is not enabled
</div>
[% END %]
</div><!-- / .col/col-10 -->
</div><!-- / .row -->
</div><!-- / .container-fluid -->
</div><!-- / .main -->
[% INCLUDE 'opac-bottom.inc' %]
[% BLOCK jsinclude %]
[% Asset.js("/js/browse.js") | $raw %]
[% END %]