Init: Vanilla robots-meta 3.0.2 vanilla-3.0.2
authorHenryk Gerlach <hgerlach@gmx.de>
Thu, 03 Jul 2008 13:38:46 +0200
changeset 01cb43ef2edd9
child 1 a54fe2712ade
Init: Vanilla robots-meta 3.0.2

from http://www.joostdevalk.nl/wordpress/robots-meta/
readme.txt
robots-meta.php
screenshot-1.png
screenshot-2.png
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/readme.txt	Thu Jul 03 13:38:46 2008 +0200
     1.3 @@ -0,0 +1,56 @@
     1.4 +=== Plugin Name ===
     1.5 +Contributors: joostdevalk
     1.6 +Donate link: http://www.joostdevalk.nl/donate/
     1.7 +Tags: meta,search engines,seo
     1.8 +Requires at least: 2.2
     1.9 +Tested up to: 2.5
    1.10 +stable tag: 3.0.2
    1.11 +
    1.12 +This plugin makes it easy to add the appropriate meta robots tags to your pages, disable unused archives, nofollow unnecessary links as well as do some other SEO related actions.
    1.13 +
    1.14 +== Description ==
    1.15 +
    1.16 +There's no easy way to add meta robots tags to WordPress pages, unless of course, when you install this plugin.
    1.17 +
    1.18 +This plugin makes it possible (and very easy) to:
    1.19 +
    1.20 +* Prevent indexing of your search result pages, while still allowing the search engines to follow the links on them, by adding noindex,follow robots meta tags.
    1.21 +* Disallow indexing of subpages to your homepage, category pages, author pages and tag pages, to prevent duplicate content.
    1.22 +* Prevent indexing of your login, register and admin pages by adding noindex robots meta tags.
    1.23 +* Add noodp an noydir meta robots tags, allowing you to opt out of DMOZ and Yahoo! Directory descriptions.
    1.24 +* Prevent Yahoo! and Google from indexing your feeds by adding a meta tag to their head-section.
    1.25 +* Prevent indexing of just your comment feeds.
    1.26 +* Disable author and date-based archives.
    1.27 +* Nofollow category listings on single pages and posts to prevent PageRank leakage.
    1.28 +* Nofollow your login, register and admin links, because they really don't need PageRank.
    1.29 +* Enforce a trailing slash on archives.
    1.30 +* Edit your .htaccess and your robots.txt from within WordPress.
    1.31 +* Assign robots meta tags to individual posts & pages.
    1.32 +* Verify your site with Google Webmaster Tools and Yahoo! Site Explorer.
    1.33 +
    1.34 +More info:
    1.35 +
    1.36 +* [Robots Meta plugin](http://www.joostdevalk.nl/wordpress/meta-robots-wordpress-plugin/).
    1.37 +* Read more about [WordPress SEO](http://www.joostdevalk.nl/wordpress-seo/) so you can get the most out of this plugin.
    1.38 +* Check out the other [Wordpress plugins](http://www.joostdevalk.nl/wordpress/) by the same author.
    1.39 +
    1.40 +== Screenshots ==
    1.41 +
    1.42 +1. Screenshot of the configuration panel for this plugin.
    1.43 +2. Screenshot of the right column block this plugin adds to the edit post and edit page admin areas.
    1.44 +
    1.45 +== More info ==
    1.46 +
    1.47 +* For more info, version history, etc. check out the page on my site about the [Robots Meta plugin](http://www.joostdevalk.nl/wordpress/meta-robots-wordpress-plugin/). 
    1.48 +* To check out the other WordPress plugins I wrote, check out my [WordPress plugins](http://www.joostdevalk.nl/wordpress/) page.
    1.49 +* For updates about this plugin and other plugins I created read my [SEO blog](http://www.joostdevalk.nl/)
    1.50 +
    1.51 +== Installation ==
    1.52 +
    1.53 +Installation is easy:
    1.54 +
    1.55 +* Download the plugin.
    1.56 +* Copy robots-meta.php to the plugins directory of your blog.
    1.57 +* Enable the plugin in your admin panel.
    1.58 +* An options panel will appear under Plugins.
    1.59 +* Choose the settings you want.
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/robots-meta.php	Thu Jul 03 13:38:46 2008 +0200
     2.3 @@ -0,0 +1,820 @@
     2.4 +<?php
     2.5 +/*
     2.6 +Plugin Name: Robots Meta
     2.7 +Plugin URI: http://www.joostdevalk.nl/wordpress/robots-meta/
     2.8 +Description: This plugin allows you to add all the appropriate robots meta tags to your pages and feeds, disable unused archives and nofollow unnecessary links.
     2.9 +Author: Joost de Valk
    2.10 +Version: 3.0.2
    2.11 +Author URI: http://www.joostdevalk.nl/
    2.12 +*/
    2.13 +
    2.14 +if ( ! class_exists( 'RobotsMeta_Admin' ) ) {
    2.15 +
    2.16 +	class RobotsMeta_Admin {
    2.17 +
    2.18 +		function add_config_page() {
    2.19 +			global $wpdb;
    2.20 +			if ( function_exists('add_submenu_page') ) {
    2.21 +				add_submenu_page('plugins.php','Robots Meta Configuration', 'Robots Meta', 1, basename(__FILE__),array('RobotsMeta_Admin','config_page'));
    2.22 +			}
    2.23 +		} // end add_config_page()
    2.24 +
    2.25 +		function meta_box() {
    2.26 +			if ( function_exists('add_meta_box') ) {
    2.27 +				add_meta_box('robotsmeta','Robots Meta',array('RobotsMeta_Admin','noindex_option_fill'),'post');
    2.28 +				add_meta_box('robotsmeta','Robots Meta',array('RobotsMeta_Admin','noindex_option_fill'),'page');
    2.29 +			} else {
    2.30 +				add_action('dbx_post_sidebar', array('RobotsMeta_Admin','noindex_option'));
    2.31 +				add_action('dbx_page_sidebar', array('RobotsMeta_Admin','noindex_option'));				
    2.32 +			}
    2.33 +		}
    2.34 +		function robotsmeta_insert_post($pID) {
    2.35 +			global $wpdb;
    2.36 +			extract($_POST);
    2.37 +			$wpdb->query("UPDATE $wpdb->posts SET robotsmeta = '$robotsmeta' WHERE ID = $pID");
    2.38 +		}
    2.39 +
    2.40 +		function noindex_option_fill() {
    2.41 +			?>
    2.42 +			<label for="meta_robots_index_follow" class="selectit"><input id="meta_robots_index_follow" name="robotsmeta" type="radio" value="index,follow" <?php if ($robotsmeta == "index,follow") echo 'checked="checked"'?>/> index, follow</label><br/>
    2.43 +			<label for="meta_robots_index_nofollow" class="selectit"><input id="meta_robots_index_nofollow" name="robotsmeta" type="radio" value="index,nofollow" <?php if ($robotsmeta == "index,nofollow") echo 'checked="checked"'?>/> index, nofollow</label><br/>
    2.44 +			<label for="meta_robots_noindex_follow" class="selectit"><input id="meta_robots_noindex_follow" name="robotsmeta" type="radio" value="noindex,follow" <?php if ($robotsmeta == "noindex,follow") echo 'checked="checked"'?>/> noindex, follow</label><br/>
    2.45 +			<label for="meta_robots_noindex_nofollow" class="selectit"><input id="meta_robots_noindex_nofollow" name="robotsmeta" type="radio" value="noindex,nofollow" <?php if ($robotsmeta == "noindex,nofollow") echo 'checked="checked"'?>/> noindex, nofollow</label><br/>
    2.46 +			<?php
    2.47 +		}
    2.48 +
    2.49 +		function noindex_option() {
    2.50 +			global $post;
    2.51 +			$robotsmeta = $post->robotsmeta;
    2.52 +			if (!isset($robotsmeta) || $robotsmeta == "") {
    2.53 +				$robotsmeta = "index,follow";
    2.54 +			}
    2.55 +			if ( current_user_can('edit_posts') ) { ?>
    2.56 +			<fieldset id="robotsmeta-noindexoption" class="dbx-box">
    2.57 +			<h3 class="dbx-handle">Robots Meta</h3>
    2.58 +			<div class="dbx-content">
    2.59 +				<label for="meta_robots_index_follow" class="selectit"><input id="meta_robots_index_follow" name="robotsmeta" type="radio" value="index,follow" <?php if ($robotsmeta == "index,follow") echo 'checked="checked"'?>/> index, follow</label>
    2.60 +				<label for="meta_robots_index_nofollow" class="selectit"><input id="meta_robots_index_nofollow" name="robotsmeta" type="radio" value="index,nofollow" <?php if ($robotsmeta == "index,nofollow") echo 'checked="checked"'?>/> index, nofollow</label>
    2.61 +				<label for="meta_robots_noindex_follow" class="selectit"><input id="meta_robots_noindex_follow" name="robotsmeta" type="radio" value="noindex,follow" <?php if ($robotsmeta == "noindex,follow") echo 'checked="checked"'?>/> noindex, follow</label>
    2.62 +				<label for="meta_robots_noindex_nofollow" class="selectit"><input id="meta_robots_noindex_nofollow" name="robotsmeta" type="radio" value="noindex,nofollow" <?php if ($robotsmeta == "noindex,nofollow") echo 'checked="checked"'?>/> noindex, nofollow</label>
    2.63 +			</div>
    2.64 +			</fieldset>
    2.65 +			<?php 
    2.66 +			}
    2.67 +		}
    2.68 +		
    2.69 +		function config_page() {
    2.70 +			if ( isset($_POST['submitrobots']) ) {
    2.71 +				if (!current_user_can('manage_options')) die(__('You cannot edit the robots.txt file.'));
    2.72 +				check_admin_referer('robots-meta-udpaterobotstxt');
    2.73 +				
    2.74 +				if (file_exists("../robots.txt")) {
    2.75 +					$robots_file = "../robots.txt";
    2.76 +				} else if (file_exists("../../robots.txt")) {
    2.77 +					$robots_file = "../../robots.txt";
    2.78 +				} else {
    2.79 +					$robots_file = false;
    2.80 +				}
    2.81 +				
    2.82 +				$robotsnew = stripslashes($_POST['robotsnew']);
    2.83 +				if ($robots_file != false && is_writeable($robots_file)) {
    2.84 +					$f = fopen($robots_file, 'w+');
    2.85 +					fwrite($f, $robotsnew);
    2.86 +					fclose($f);
    2.87 +				}
    2.88 +			}
    2.89 +			if ( isset($_POST['submithtaccess']) ) {
    2.90 +				if (!current_user_can('manage_options')) die(__('You cannot edit the .htaccess.'));
    2.91 +				check_admin_referer('robots-meta-udpatehtaccesstxt');
    2.92 +
    2.93 +				if (file_exists("../.htaccess")) {
    2.94 +					$htaccess_file = "../.htaccess";
    2.95 +				} else if (file_exists("../../.htaccess")) {
    2.96 +					$htaccess_file = "../../.htaccess";
    2.97 +				} else {
    2.98 +					$htaccess_file = false;
    2.99 +				}
   2.100 +
   2.101 +				$htaccessnew = stripslashes($_POST['htaccessnew']);
   2.102 +				if (is_writeable($htaccess_file)) {
   2.103 +					$f = fopen($htaccess_file, 'w+');
   2.104 +					fwrite($f, $htaccessnew);
   2.105 +					fclose($f);
   2.106 +				}
   2.107 +
   2.108 +			}
   2.109 +			if ( isset($_POST['submit']) ) {
   2.110 +				if (!current_user_can('manage_options')) die(__('You cannot edit the Robots Meta options.'));
   2.111 +				check_admin_referer('robots-meta-udpatesettings');
   2.112 +				
   2.113 +				if (isset($_POST['admin'])) {
   2.114 +					$options['admin'] = true;
   2.115 +				} else {
   2.116 +					$options['admin'] = false;
   2.117 +				}
   2.118 +
   2.119 +				if (isset($_POST['allfeeds'])) {
   2.120 +					$options['commentfeeds'] = true;
   2.121 +					$options['allfeeds'] = true;
   2.122 +				} else {
   2.123 +					$options['allfeeds'] = false;
   2.124 +				}
   2.125 +
   2.126 +				if (isset($_POST['commentfeeds'])) {
   2.127 +					$options['commentfeeds'] = true;
   2.128 +				} else {
   2.129 +					$options['commentfeeds'] = false;
   2.130 +				}
   2.131 +
   2.132 +				if (isset($_POST['disableauthor'])) {
   2.133 +					$options['disableauthor'] = true;
   2.134 +				} else {
   2.135 +					$options['disableauthor'] = false;
   2.136 +				}
   2.137 +
   2.138 +				if (isset($_POST['disabledate'])) {
   2.139 +					$options['disabledate'] = true;
   2.140 +				} else {
   2.141 +					$options['disabledate'] = false;
   2.142 +				}
   2.143 +
   2.144 +				if (isset($_POST['disableexplanation'])) {
   2.145 +					$options['disableexplanation'] = true;
   2.146 +				} else {
   2.147 +					$options['disableexplanation'] = false;
   2.148 +				}
   2.149 +
   2.150 +				if (isset($_POST['login'])) {
   2.151 +					$options['login'] = true;
   2.152 +				} else {
   2.153 +					$options['login'] = false;
   2.154 +				}
   2.155 +
   2.156 +				if (isset($_POST['noindexauthor'])) {
   2.157 +					$options['noindexauthor'] = true;
   2.158 +				} else {
   2.159 +					$options['noindexauthor'] = false;
   2.160 +				}
   2.161 +
   2.162 +				if (isset($_POST['noindexcat'])) {
   2.163 +					$options['noindexcat'] = true;
   2.164 +				} else {
   2.165 +					$options['noindexcat'] = false;
   2.166 +				}
   2.167 +
   2.168 +				if (isset($_POST['noindexdate'])) {
   2.169 +					$options['noindexdate'] = true;
   2.170 +				} else {
   2.171 +					$options['noindexdate'] = false;
   2.172 +				}
   2.173 +				
   2.174 +				if (isset($_POST['noindextag'])) {
   2.175 +					$options['noindextag'] = true;
   2.176 +				} else {
   2.177 +					$options['noindextag'] = false;
   2.178 +				}
   2.179 +				
   2.180 +				if (isset($_POST['nofollowcatsingle'])) {
   2.181 +					$options['nofollowcatsingle'] = true;
   2.182 +				} else {
   2.183 +					$options['nofollowcatsingle'] = false;
   2.184 +				}
   2.185 +
   2.186 +				if (isset($_POST['nofollowcatpage'])) {
   2.187 +					$options['nofollowcatpage'] = true;
   2.188 +				} else {
   2.189 +					$options['nofollowcatpage'] = false;
   2.190 +				}
   2.191 +
   2.192 +				if (isset($_POST['nofollowindexlinks'])) {
   2.193 +					$options['nofollowindexlinks'] = true;
   2.194 +				} else {
   2.195 +					$options['nofollowindexlinks'] = false;
   2.196 +				}
   2.197 +
   2.198 +				if (isset($_POST['nofollowmeta'])) {
   2.199 +					$options['nofollowmeta'] = true;
   2.200 +				} else {
   2.201 +					$options['nofollowmeta'] = false;
   2.202 +				}
   2.203 +
   2.204 +				if (isset($_POST['nofollowcommentlinks'])) {
   2.205 +					$options['nofollowcommentlinks'] = true;
   2.206 +				} else {
   2.207 +					$options['nofollowcommentlinks'] = false;
   2.208 +				}
   2.209 +
   2.210 +				if (isset($_POST['nofollowtaglinks'])) {
   2.211 +					$options['nofollowtaglinks'] = true;
   2.212 +				} else {
   2.213 +					$options['nofollowtaglinks'] = false;
   2.214 +				}
   2.215 +
   2.216 +				if (isset($_POST['noodp'])) {
   2.217 +					$options['noodp'] = true;
   2.218 +				} else {
   2.219 +					$options['noodp'] = false;
   2.220 +				}
   2.221 +
   2.222 +				if (isset($_POST['noydir'])) {
   2.223 +					$options['noydir'] = true;
   2.224 +				} else {
   2.225 +					$options['noydir'] = false;
   2.226 +				}
   2.227 +				
   2.228 +				if (isset($_POST['pagedhome'])) {
   2.229 +					$options['pagedhome'] = true;
   2.230 +				} else {
   2.231 +					$options['pagedhome'] = false;
   2.232 +				}
   2.233 +
   2.234 +				if (isset($_POST['search'])) {
   2.235 +					$options['search'] = true;
   2.236 +				} else {
   2.237 +					$options['search'] = false;
   2.238 +				}
   2.239 +				
   2.240 +				if (isset($_POST['replacemetawidget'])) {
   2.241 +					$options['replacemetawidget'] = true;
   2.242 +				} else {
   2.243 +					$options['replacemetawidget'] = false;
   2.244 +				}
   2.245 +
   2.246 +				if (isset($_POST['redirectsearch'])) {
   2.247 +					$options['redirectsearch'] = true;
   2.248 +				} else {
   2.249 +					$options['redirectsearch'] = false;
   2.250 +				}
   2.251 +
   2.252 +				if (isset($_POST['trailingslash'])) {
   2.253 +					$options['trailingslash'] = true;
   2.254 +				} else {
   2.255 +					$options['trailingslash'] = false;
   2.256 +				}
   2.257 +				
   2.258 +				if (isset($_POST['googleverify'])) {
   2.259 +					$options['googleverify'] = $_POST['googleverify'];
   2.260 +				}
   2.261 +
   2.262 +				if (isset($_POST['msverify'])) {
   2.263 +					$options['msverify'] = $_POST['msverify'];
   2.264 +				}
   2.265 +
   2.266 +				if (isset($_POST['yahooverify'])) {
   2.267 +					$options['yahooverify'] = $_POST['yahooverify'];
   2.268 +				}
   2.269 +
   2.270 +				if (isset($_POST['version'])) {
   2.271 +					$options['version'] = $_POST['version'];
   2.272 +				}
   2.273 +				$opt = serialize($options);
   2.274 +				update_option('RobotsMeta', $opt);
   2.275 +			}
   2.276 +			
   2.277 +			$opt  = get_option('RobotsMeta');
   2.278 +			$options = unserialize($opt);
   2.279 +			if ($options['allfeeds']) {
   2.280 +				$options['comments'] = true;
   2.281 +			}
   2.282 +
   2.283 +			if (file_exists("../robots.txt")) {
   2.284 +				$robots_file = "../robots.txt";
   2.285 +			} else if (file_exists("../../robots.txt")) {
   2.286 +				$robots_file = "../../robots.txt";
   2.287 +			} else {
   2.288 +				$robots_file = false;
   2.289 +				$error = 1;
   2.290 +			}
   2.291 +			
   2.292 +			if (!$error && filesize($robots_file) > 0) {
   2.293 +				$f = fopen($robots_file, 'r');
   2.294 +				$content = fread($f, filesize($robots_file));
   2.295 +				$content = htmlspecialchars($content);
   2.296 +			}
   2.297 +
   2.298 +			$error = 0;
   2.299 +			if (file_exists("../.htaccess")) {
   2.300 +				$htaccess_file = "../.htaccess";
   2.301 +			} else if (file_exists("../../.htaccess")) {
   2.302 +				$htaccess_file = "../../.htaccess";
   2.303 +			} else {
   2.304 +				$htaccess_file = false;
   2.305 +				$error = 1;
   2.306 +			}
   2.307 +
   2.308 +			if (!$error && filesize($htaccess_file) > 0) {
   2.309 +				$f = fopen($htaccess_file, 'r');
   2.310 +				$contentht = fread($f, filesize($htaccess_file));
   2.311 +				$contentht = htmlspecialchars($contentht);
   2.312 +			}
   2.313 +			
   2.314 +			?>
   2.315 +			<div class="wrap">
   2.316 +				<h2>Robots Meta Configuration</h2>
   2.317 +				<form action="" method="post" id="robotsmeta-conf">
   2.318 +					<span style="border: 0; float: right; margin-top: -35px;" class="submit"><input type="submit" name="submit" value="Save Settings" /></span>
   2.319 +					<table class="form-table">
   2.320 +						<?php if (function_exists('wp_nonce_field')) { wp_nonce_field('robots-meta-udpatesettings'); } ?>
   2.321 +						<input type="hidden" value="<?php echo $options['version']; ?>" name="version"/>
   2.322 +						<tr>
   2.323 +							<th scope="row" valign="top">Plugin settings</th>
   2.324 +							<td>
   2.325 +								<input type="checkbox" id="disableexplanation" name="disableexplanation" <?php if ( $options['disableexplanation'] == true ) echo ' checked="checked" '; ?>/>
   2.326 +								<label for="disableexplanation">Hide verbose explanations of settings</label><br/>
   2.327 +							</td>
   2.328 +						</tr>						
   2.329 +						<tr valign="top">
   2.330 +							<th scope="row" width="20%">RSS Feeds</th>
   2.331 +							<td>
   2.332 +								<input type="checkbox" id="commentfeeds" name="commentfeeds" <?php if ( $options['commentfeeds'] == true ) echo ' checked="checked" '; ?>/>
   2.333 +								<label for="commentfeeds"><code>noindex</code> the comment RSS feeds</label><br/>
   2.334 +								<?php if (!$options['disableexplanation']) { ?>
   2.335 +								<p>
   2.336 +									This will prevent the search engines from indexing your comment feeds.
   2.337 +								</p>
   2.338 +								<?php } ?>
   2.339 +								<input type="checkbox" id="allfeeds" name="allfeeds" <?php if ( $options['allfeeds'] == true ) echo ' checked="checked" '; ?>/> 
   2.340 +								<label for="allfeeds"><code>noindex</code> <strong>all</strong> RSS feeds</label><br/>
   2.341 +								<?php if (!$options['disableexplanation']) { ?>
   2.342 +								<p>
   2.343 +									This will prevent the search engines from indexing <strong>all your</strong> feeds. Highly discouraged.
   2.344 +								</p>
   2.345 +								<?php } ?>
   2.346 +							</td>
   2.347 +						</tr>
   2.348 +						<tr valign="top">
   2.349 +							<th scope="row">Prevent indexing of</th>
   2.350 +							<td>
   2.351 +								<input type="checkbox" id="search" name="search" <?php if ( $options['search'] == true ) echo ' checked="checked" '; ?>/>
   2.352 +								<label for="search">This site's search result pages</label><br/>
   2.353 +								<?php if (!$options['disableexplanation']) { ?>
   2.354 +								<p>
   2.355 +									Prevents the search engines from indexing your search result pages, by a <code>noindex,follow</code> robots tag to them. The <code>follow</code> part means that search engine crawlers <em>will</em> spider the pages listed in the search results.
   2.356 +								</p>
   2.357 +								<?php } ?>								
   2.358 +								<input type="checkbox" id="logininput" name="login" <?php if ( $options['login'] == true ) echo ' checked="checked" '; ?>/>
   2.359 +								<label for="logininput">The login and register pages</label><br/>
   2.360 +								<input type="checkbox" id="admin" name="admin" <?php if ( $options['admin'] == true ) echo ' checked="checked" '; ?>/>
   2.361 +								<label for="admin">All admin pages</label><br/>
   2.362 +								<?php if (!$options['disableexplanation']) { ?>
   2.363 +								<p>
   2.364 +									The above two options prevent the search engines from indexing your login, register and admin pages.
   2.365 +								</p>
   2.366 +								<?php } ?>
   2.367 +								<input type="checkbox" id="pagedhome" name="pagedhome" <?php if ( $options['pagedhome'] == true ) echo ' checked="checked" '; ?>/>
   2.368 +								<label for="pagedhome">Subpages of the homepage</label><br/>
   2.369 +								<?php if (!$options['disableexplanation']) { ?>
   2.370 +								<p>
   2.371 +									Prevent the search engines from indexing your subpages, if you want them to only index your category and / or tag archives.
   2.372 +								</p>
   2.373 +								<?php } ?>
   2.374 +								<input type="checkbox" id="noindexauthor" name="noindexauthor" <?php if ( $options['noindexauthor'] == true ) echo ' checked="checked" '; ?>/>
   2.375 +								<label for="noindexauthor">Author archives</label><br/>								
   2.376 +								<?php if (!$options['disableexplanation']) { ?>
   2.377 +								<p>
   2.378 +									By default, WordPress creates author archives for each user, usually available under <code>/author/username</code>. If you have sufficient other archives, or yours is a one person blog, there's no need and you can best disable them or prevent search engines from indexing them.
   2.379 +								</p>
   2.380 +								<?php } ?>
   2.381 +								<input type="checkbox" id="noindexdate" name="noindexdate" <?php if ( $options['noindexdate'] == true ) echo ' checked="checked" '; ?>/>
   2.382 +								<label for="noindexdate">Date-based archives</label><br/>
   2.383 +								<?php if (!$options['disableexplanation']) { ?>
   2.384 +								<p>
   2.385 +									If you want to offer your users the option of crawling your site by date, but have ample other ways for the search engines to find the content on your site, I highly encourage you to prevent your date-based archives from being indexed.
   2.386 +								</p>
   2.387 +								<?php } ?>
   2.388 +								<input type="checkbox" id="noindexcat" name="noindexcat" <?php if ( $options['noindexcat'] == true ) echo ' checked="checked" '; ?>/>
   2.389 +								<label for="noindexcat">Category archives</label><br/>
   2.390 +								<?php if (!$options['disableexplanation']) { ?>
   2.391 +								<p>
   2.392 +									If you're using tags as your only way of structure on your site, you would probably be better off when you prevent your categories from being indexed.
   2.393 +								</p>
   2.394 +								<?php } ?>
   2.395 +								<input type="checkbox" id="noindextag" name="noindextag" <?php if ( $options['noindextag'] == true ) echo ' checked="checked" '; ?>/>
   2.396 +								<label for="noindextag">Tag archives</label><br/>
   2.397 +								<?php if (!$options['disableexplanation']) { ?>
   2.398 +								<p>
   2.399 +									Read the categories explanation above for categories and switch the words category and tag around ;)
   2.400 +								</p>
   2.401 +								<?php } ?>
   2.402 +							</td>
   2.403 +						</tr>
   2.404 +						<tr valign="top">
   2.405 +							<th scope="row">DMOZ<br/> and Yahoo! Directory</th>
   2.406 +							<td>
   2.407 +								<input type="checkbox" id="noodp" name="noodp" <?php if ( $options['noodp'] == true ) echo ' checked="checked" '; ?>/>
   2.408 +								<label for="noodp">Add <code>noodp</code> meta tag</label><br/>
   2.409 +								<?php if (!$options['disableexplanation']) { ?>
   2.410 +								<p>
   2.411 +									Prevents all search engines from using the DMOZ description for this site in the search results.
   2.412 +								</p>
   2.413 +								<?php } ?>
   2.414 +								<input type="checkbox" id="noydir" name="noydir" <?php if ( $options['noydir'] == true ) echo ' checked="checked" '; ?>/>
   2.415 +								<label for="noydir">Add <code>noydir</code> meta robots tag</label><br/>
   2.416 +								<?php if (!$options['disableexplanation']) { ?>
   2.417 +								<p>
   2.418 +									Prevents Yahoo! from using the Yahoo! directory description for this site in the search results.
   2.419 +								</p>
   2.420 +								<?php } ?>
   2.421 +							</td>
   2.422 +						</tr>
   2.423 +						<tr>
   2.424 +							<th scope="row" valign="top">Permalink settings</th>
   2.425 +							<td>
   2.426 +								<input type="checkbox" id="trailingslash" name="trailingslash" <?php if ( $options['trailingslash'] == true ) echo ' checked="checked" '; ?>/>
   2.427 +								<label for="trailingslash">Enforce a trailing slash on all category and tag URL's</label><br/>
   2.428 +								<?php if (!$options['disableexplanation']) { ?>
   2.429 +								<p>
   2.430 +									If you choose a permalink for your posts with <code>.html</code>, or anything else but a / on the end, this will force WordPress to add a trailing slash to non-post pages nonetheless.
   2.431 +								</p>
   2.432 +								<?php } ?>
   2.433 +							</td>
   2.434 +						</tr>
   2.435 +						<tr>
   2.436 +							<th scope="row" valign="top">Archive settings</th>
   2.437 +							<td>
   2.438 +								<input type="checkbox" id="disableauthor" name="disableauthor" <?php if ( $options['disableauthor'] == true ) echo ' checked="checked" '; ?>/>
   2.439 +								<label for="disableauthor">Disable the author archives</label><br/>
   2.440 +								<?php if (!$options['disableexplanation']) { ?>
   2.441 +								<p>
   2.442 +									If you're running a one author blog, the author archive will always look exactly the same as your homepage. And even though you may not link to it, others might, to do you harm. Disabling them here will make sure any link to those archives will be 301 redirected to the blog homepage.
   2.443 +								</p>
   2.444 +								<?php } ?>
   2.445 +								<input type="checkbox" id="disabledate" name="disabledate" <?php if ( $options['disabledate'] == true ) echo ' checked="checked" '; ?>/>
   2.446 +								<label for="disabledate">Disable the date-based archives</label><br/>
   2.447 +								<?php if (!$options['disableexplanation']) { ?>
   2.448 +								<p>
   2.449 +									For the date based archives, the same applies: they probably look a lot like your homepage, and could thus be seen as duplicate content.
   2.450 +								</p>
   2.451 +								<?php } ?>
   2.452 +								<input type="checkbox" id="redirectsearch" name="redirectsearch" <?php if ( $options['redirectsearch'] == true ) echo ' checked="checked" '; ?>/>
   2.453 +								<label for="redirectsearch">Redirect search results pages when referrer is external</label><br/>
   2.454 +								<?php if (!$options['disableexplanation']) { ?>
   2.455 +								<p>
   2.456 +									Redirect people coming to a search page on your site from elsewhere to your homepage, prevents people from linking to search results on your site.
   2.457 +								</p>
   2.458 +								<?php } ?>
   2.459 +							</td>
   2.460 +						</tr>
   2.461 +						<tr>
   2.462 +							<th scope="row" valign="top">Internal nofollow settings</th>
   2.463 +							<td>
   2.464 +								<input type="checkbox" id="nofollowcatpage" name="nofollowcatpage" <?php if ( $options['nofollowcatpage'] == true ) echo ' checked="checked" '; ?>/>
   2.465 +								<label for="nofollowcatpage">Nofollow category listings on pages</label><br/>
   2.466 +								<input type="checkbox" id="nofollowcatsingle" name="nofollowcatsingle" <?php if ( $options['nofollowcatsingle'] == true ) echo ' checked="checked" '; ?>/>
   2.467 +								<label for="nofollowcatsingle">Nofollow category listings on single posts</label><br/>
   2.468 +								<?php if (!$options['disableexplanation']) { ?>
   2.469 +								<p>
   2.470 +									If you're showing a category listing on all your single posts and pages, you're "leaking" quite a bit of PageRank towards these pages, whereas you probably want your single posts to rank. To prevent that from happening, check the two boxes above, and you will nofollow all the links to your categories from single posts and/or pages.
   2.471 +								</p>
   2.472 +								<?php } ?>
   2.473 +								<input type="checkbox" id="nofollowindexlinks" name="nofollowindexlinks" <?php if ( $options['nofollowindexlinks'] == true ) echo ' checked="checked" '; ?>/>
   2.474 +								<label for="nofollowindexlinks">Nofollow outbound links on the frontpage</label><br/>
   2.475 +								<?php if (!$options['disableexplanation']) { ?>
   2.476 +								<p>
   2.477 +									If you want to keep the link-juice on your front page to yourself, enable this, and you will only pass link-juice from your post pages.
   2.478 +								</p>
   2.479 +								<?php } ?>
   2.480 +								<input type="checkbox" id="nofollowtaglinks" name="nofollowtaglinks" <?php if ( $options['nofollowtaglinks'] == true ) echo ' checked="checked" '; ?>/>
   2.481 +								<label for="nofollowtaglinks">Nofollow the links to your tag pages</label><br/>
   2.482 +								<?php if (!$options['disableexplanation']) { ?>
   2.483 +								<p>
   2.484 +									If you've decided to keep your tag pages from being indexed, you might as well stop throwing link-juice at them on each post...
   2.485 +								</p>
   2.486 +								<?php } ?>
   2.487 +								<input type="checkbox" id="nofollowmeta" name="nofollowmeta" <?php if ( $options['nofollowmeta'] == true ) echo ' checked="checked" '; ?>/>
   2.488 +								<label for="nofollowmeta">Nofollow login and registration links</label><br/>
   2.489 +								<?php if (!$options['disableexplanation']) { ?>
   2.490 +								<p>
   2.491 +									This might have happened to you: logging in to your admin panel to notice that is has become PR6... Nofollow those admin and login links, there's no use flowing PageRank to those pages!
   2.492 +								</p>
   2.493 +								<?php } ?>
   2.494 +								<input type="checkbox" id="nofollowcommentlinks" name="nofollowcommentlinks" <?php if ( $options['nofollowcommentlinks'] == true ) echo ' checked="checked" '; ?>/>
   2.495 +								<label for="nofollowcommentlinks">Nofollow comments links</label><br/>
   2.496 +								<?php if (!$options['disableexplanation']) { ?>
   2.497 +								<p>
   2.498 +									Simple way to decrease the number of links on your pages: nofollow all the links pointing to comment sections.
   2.499 +								</p>
   2.500 +								<?php } ?>
   2.501 +								<input type="checkbox" id="replacemetawidget" name="replacemetawidget" <?php if ( $options['replacemetawidget'] == true ) echo ' checked="checked" '; ?>/>
   2.502 +								<label for="replacemetawidget">Replace the Meta Widget with a nofollowed one</label><br/>
   2.503 +								<?php if (!$options['disableexplanation']) { ?>
   2.504 +								<p>
   2.505 +									By default the Meta widget links to your RSS feeds and to WordPress.org with a follow link, this will replace that widget by a custom one in which all these links are nofollowed.
   2.506 +								</p>
   2.507 +								<?php } ?>
   2.508 +							</td>
   2.509 +						</tr>
   2.510 +						<tr>
   2.511 +							<th scope="row" valign="top">Webmaster Tools</th>
   2.512 +							<td colspan="2">
   2.513 +								<label for="googleverify">Verify meta value for Google Webmaster Tools:</label><br/>
   2.514 +								<input size="50" type="text" id="googleverify" name="googleverify" <?php echo 'value="'.$options['googleverify'].'" '; ?>/><br/>
   2.515 +								<label for="yahooverify">Verify meta value for Yahoo! Site Explorer:</label><br/>
   2.516 +								<input size="50" type="text" id="yahooverify" name="yahooverify" <?php echo 'value="'.$options['yahooverify'].'" '; ?>/><br/>
   2.517 +								<label for="msverify">Verify meta value for Microsoft Webmaster Portal:</label><br/>
   2.518 +								<input size="50" type="text" id="msverify" name="msverify" <?php echo 'value="'.$options['msverify'].'" '; ?>/>
   2.519 +							</td>
   2.520 +						</tr>
   2.521 +					</table>
   2.522 +					<br/>
   2.523 +					<span class="submit" style="border: 0;"><input type="submit" name="submit" value="Save Settings" /></span>
   2.524 +				</form>
   2.525 +				<br/><br/>
   2.526 +<?php if ($robots_file != false) { ?>
   2.527 +				<h2>Robots.txt</h2>
   2.528 +				<form action="" method="post" id="robotstxt">
   2.529 +					<?php wp_nonce_field('robots-meta-udpaterobotstxt'); ?>
   2.530 +					<?php
   2.531 +						if (!is_writeable($robots_file)) {
   2.532 +							echo "<p><em>If your robots.txt were writable, you could edit it from here.</em></p>";
   2.533 +							$disabled = 'disabled="disabled"';
   2.534 +						} else {
   2.535 +							echo "<p>Edit the content of your robots.txt:</p>";
   2.536 +							$disabled = "";
   2.537 +							?>
   2.538 +							<textarea cols="60" <?php echo $disabled; ?> rows="15" name="robotsnew"><?php echo $content ?></textarea><br/>
   2.539 +							<br/>
   2.540 +							<span class="submit" style="border: 0;"><input type="submit" name="submitrobots" value="Save changes to Robots.txt" /></span>
   2.541 +					<?php } ?>
   2.542 +				</form>
   2.543 +				<br/><br/>
   2.544 +<?php
   2.545 +}
   2.546 +if ($htaccess_file != false) {
   2.547 +?>
   2.548 +				<h2>.htaccess</h2>
   2.549 +				<form action="" method="post" id="htaccess">
   2.550 +					<?php wp_nonce_field('robots-meta-udpatehtaccesstxt'); ?>
   2.551 +					<?php
   2.552 +						if (! is_writeable($htaccess_file)) {
   2.553 +							echo "<p><em>If your .htaccess were writable, you could edit it from here.</em></p>";
   2.554 +							$disabled = 'disabled="disabled"';
   2.555 +						} else {
   2.556 +							echo "<p>Edit the content of your .htaccess:</p>";
   2.557 +							$disabled = "";
   2.558 +							?>
   2.559 +							<textarea cols="60" <?php echo $disabled; ?> rows="15" name="htaccessnew"><?php echo $contentht ?></textarea><br/>
   2.560 +							<br/>
   2.561 +							<span class="submit" style="border:0;"><input type="submit" name="submithtaccess" value="Save changes to .htaccess" /></span>
   2.562 +					<?php } ?>
   2.563 +				</form>
   2.564 +<?php } ?>
   2.565 +			</div>
   2.566 +			<?php
   2.567 +	}
   2.568 +	} // end class RobotsMeta
   2.569 +}
   2.570 +
   2.571 +function noindex_feed() {
   2.572 +	echo '<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />'."\n";
   2.573 +}
   2.574 +
   2.575 +function noindex_page() {
   2.576 +	echo '<meta name="robots" content="noindex" />'."\n";
   2.577 +}
   2.578 +
   2.579 +function meta_robots() {
   2.580 +	$opt  = get_option('RobotsMeta');
   2.581 +	$options = unserialize($opt);
   2.582 +	
   2.583 +	$meta = "";
   2.584 +	if (is_single() || is_page()) {
   2.585 +		global $post;
   2.586 +		if ($post->robotsmeta != "index,follow") {
   2.587 +			$meta = $post->robotsmeta;	
   2.588 +		}
   2.589 +	} else if ( (is_author() && $options['noindexauthor']) || (is_category() && $options['noindexcat']) || (is_date() && $options['noindexdate']) || (function_exists(is_tag) && is_tag() && $options['noindextag']) || (is_search() && $options['search']) ) {
   2.590 +		$meta .= "noindex,follow";
   2.591 +	} else if (is_home()) {
   2.592 +		if ($options['pagedhome'] && get_query_var('paged') > 1) {
   2.593 +			$meta .= "noindex,follow";
   2.594 +		}
   2.595 +	}
   2.596 +	if ($options['noodp']) {
   2.597 +		if ($meta != "") {
   2.598 +			$meta .= ",";
   2.599 +		}
   2.600 +		$meta .= "noodp";
   2.601 +	} 
   2.602 +	if ($options['noydir']) {
   2.603 +		if ($meta != "") {
   2.604 +			$meta .= ",";
   2.605 +		}
   2.606 +		$meta .= "noydir";
   2.607 +	}
   2.608 +	if ($meta != "" && $meta != "index,follow") {
   2.609 +		echo '<!--Meta tags added by Robots Meta: http://www.joostdevalk.nl/wordpress/meta-robots-wordpress-plugin/ -->'."\n";
   2.610 +		echo '<meta name="robots" content="'.$meta.'" />'."\n";
   2.611 +	}
   2.612 +} 
   2.613 +
   2.614 +function add_trailingslash($url, $type) {
   2.615 +	// trailing slashes for everything except is_single()
   2.616 +	// Thanks to Mark Jaquith for this
   2.617 +	if ( 'single' === $type ) {
   2.618 +		return $url;
   2.619 +	} else {
   2.620 +		return trailingslashit($url);
   2.621 +	}
   2.622 +}
   2.623 +
   2.624 +function search_redirect() {
   2.625 +	if ($_GET['s'] &&  strpos($_SERVER['HTTP_REFERER'], get_bloginfo('url')) === false) {
   2.626 +		wp_redirect(get_bloginfo('url'),301);
   2.627 +		exit;
   2.628 +	}
   2.629 +}
   2.630 +
   2.631 +function archive_redirect() {
   2.632 +	global $wp_query;
   2.633 +	
   2.634 +	$opt  = get_option('RobotsMeta');
   2.635 +	$options = unserialize($opt);
   2.636 +	
   2.637 +	if ($options['disabledate'] && $wp_query->is_date) {
   2.638 +		wp_redirect(get_bloginfo('url'),301);
   2.639 +		exit;
   2.640 +	}
   2.641 +	if ($options['disableauthor'] && $wp_query->is_author) {
   2.642 +		wp_redirect(get_bloginfo('url'),301);
   2.643 +		exit;
   2.644 +	}
   2.645 +}
   2.646 +
   2.647 +function nofollow_link($output) {
   2.648 +	return str_replace('<a ','<a rel="nofollow" ',$output);
   2.649 +}
   2.650 +
   2.651 +function nofollow_category_listing($output) {
   2.652 +	$opt  = get_option('RobotsMeta');
   2.653 +	$options = unserialize($opt);
   2.654 +	
   2.655 +	if ( ($options['nofollowcatsingle'] && (is_single() || is_search()) ) || ($options['nofollowcatpage'] && is_page() || is_category() || is_tag() ) ) {
   2.656 +		$output = nofollow_link($output);
   2.657 +		return $output;
   2.658 +	} else {
   2.659 +		return $output;
   2.660 +	}
   2.661 +}
   2.662 +
   2.663 +function google_verify() {
   2.664 +	if (is_home() || (function_exists('is_frontpage') && is_frontpage()) ) {
   2.665 +		$opt  = get_option('RobotsMeta');
   2.666 +		$options = unserialize($opt);
   2.667 +		echo '<meta name="verify-v1" content="'.$options['googleverify'].'" />'."\n";
   2.668 +	}
   2.669 +}
   2.670 +
   2.671 +function yahoo_verify() {
   2.672 +	if (is_home() || (function_exists('is_frontpage') && is_frontpage()) ) {
   2.673 +		$opt  = get_option('RobotsMeta');
   2.674 +		$options = unserialize($opt);
   2.675 +		echo '<meta name="y_key" content="'.$options['yahooverify'].'" />'."\n";
   2.676 +	}
   2.677 +}
   2.678 +
   2.679 +function ms_verify() {
   2.680 +	if (is_home() || (function_exists('is_frontpage') && is_frontpage()) ) {
   2.681 +		$opt  = get_option('RobotsMeta');
   2.682 +		$options = unserialize($opt);
   2.683 +		echo '<meta name="msvalidate.01" content="'.$options['msverify'].'" />'."\n";
   2.684 +	}
   2.685 +}
   2.686 +
   2.687 +function add_nofollow($matches) {
   2.688 +	$origin = get_bloginfo('wpurl');
   2.689 +	if ((strpos($matches[2],$origin)) === false && ( strpos($matches[1],'rel="nofollow"') === false ) && ( strpos($matches[3],'rel="nofollow"') === false ) ) {
   2.690 +		$nofollow = ' rel="nofollow" ';
   2.691 +	} else {
   2.692 +		$nofollow = '';
   2.693 +	}
   2.694 +	return '<a href="' . $matches[2] . '"' . $nofollow . $matches[1] . $matches[3] . '>' . $matches[4] . '</a>';
   2.695 +}
   2.696 +
   2.697 +function nofollow_index($output) {
   2.698 +	// Loop through the content of each post and add a nofollow when it's on the main page or a category page.
   2.699 +	if (is_home() || is_category()) {
   2.700 +		$anchorPattern = '/<a (.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';
   2.701 +		$output = preg_replace_callback($anchorPattern,'add_nofollow',$output);
   2.702 +	}
   2.703 +	return $output;
   2.704 +}
   2.705 +
   2.706 +function nofollow_taglinks($output) {
   2.707 +	$output = str_replace('rel="tag"','rel="nofollow tag"',$output);
   2.708 +	return $output;
   2.709 +}
   2.710 +
   2.711 +function widget_jdvmeta_init() {
   2.712 +	if (!function_exists('register_sidebar_widget'))
   2.713 +		return;
   2.714 +
   2.715 +	function wp_jdvwidget_meta($args) {
   2.716 +		extract($args);
   2.717 +		$options = get_option('widget_meta');
   2.718 +		$title = empty($options['title']) ? __('Meta') : $options['title'];
   2.719 +	?>
   2.720 +			<?php echo $before_widget; ?>
   2.721 +				<?php echo $before_title . $title . $after_title; ?>
   2.722 +				<ul>
   2.723 +				<?php wp_register(); ?>
   2.724 +				<li><?php wp_loginout(); ?></li>
   2.725 +				<li><a rel="nofollow" href="<?php bloginfo('rss2_url'); ?>" title="<?php echo attribute_escape(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
   2.726 +				<li><a rel="nofollow"href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo attribute_escape(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
   2.727 +				<li><a rel="nofollow" href="http://wordpress.org/" title="<?php echo attribute_escape(__('Powered by WordPress, state-of-the-art semantic personal publishing platform.')); ?>">WordPress.org</a></li>
   2.728 +				<?php wp_meta(); ?>
   2.729 +				</ul>
   2.730 +			<?php echo $after_widget; ?>
   2.731 +	<?php
   2.732 +	}
   2.733 +
   2.734 +	register_sidebar_widget('meta','wp_jdvwidget_meta');
   2.735 +}
   2.736 +
   2.737 +function robotsmeta_update() {
   2.738 +	global $wpdb;
   2.739 +	$opt  = get_option('RobotsMeta');
   2.740 +	$options = unserialize($opt);
   2.741 +	if ($options['version'] < "2.3") {
   2.742 +		echo $wpdb->get_col_info('robotsmeta');
   2.743 +		$wpdb->query("ALTER TABLE $wpdb->posts ADD COLUMN robotsmeta varchar(64)");
   2.744 +		$options['version'] = "2.3";
   2.745 +	}
   2.746 +	if ($options['version'] < "25") {
   2.747 +		$options['version'] = "25";
   2.748 +	}
   2.749 +	$opt = serialize($options);
   2.750 +	update_option('RobotsMeta', $opt);
   2.751 +}
   2.752 +function echo_nofollow() {
   2.753 +	return ' rel="nofollow"';
   2.754 +}
   2.755 +
   2.756 +$opt  = get_option('RobotsMeta');
   2.757 +$options = unserialize($opt);
   2.758 +
   2.759 +global $wp_version;
   2.760 +if ($wp_version >= "2.3") {
   2.761 +	if ($options['allfeeds'] || $options['commentfeeds']) {
   2.762 +		add_action('commentsrss2_head', 'noindex_feed');
   2.763 +	}
   2.764 +	if ($options['trailingslash']) {
   2.765 +		add_filter('user_trailingslashit', 'add_trailingslash', 10, 2);
   2.766 +	}
   2.767 +}
   2.768 +if ($options['allfeeds']) {
   2.769 +	add_action('rss_head', 'noindex_feed');
   2.770 +	add_action('rss2_head', 'noindex_feed');
   2.771 +}
   2.772 +
   2.773 +add_action('wp_head', 'meta_robots');
   2.774 +
   2.775 +if ($options['login']) {
   2.776 +	add_action('login_head', 'noindex_page');
   2.777 +}
   2.778 +if ($options['admin']) {
   2.779 +	add_action('admin_head', 'noindex_page');
   2.780 +}
   2.781 +if ($options['disabledate'] || $options['disableauthor']) {
   2.782 +	add_action('wp', 'archive_redirect');
   2.783 +}
   2.784 +if ($options['redirectsearch']) {
   2.785 +	add_action('init', 'search_redirect');
   2.786 +}
   2.787 +if ($options['nofollowcatsingle'] || $options['nofollowcatpage']) {
   2.788 +	add_filter('wp_list_categories','nofollow_category_listing');
   2.789 +}
   2.790 +if ($options['nofollowmeta']) {
   2.791 +	add_filter('loginout','nofollow_link');
   2.792 +	add_filter('register','nofollow_link');
   2.793 +}
   2.794 +if ($options['nofollowcommentlinks']) {
   2.795 +	add_filter('comments_popup_link_attributes','echo_nofollow');
   2.796 +}
   2.797 +if ($options['nofollowtaglinks']) {
   2.798 +	add_filter('the_tags','nofollow_taglinks');
   2.799 +}
   2.800 +if ($options['googleverify']) {
   2.801 +	add_action('wp_head', 'google_verify');
   2.802 +}
   2.803 +if ($options['yahooverify']) {
   2.804 +	add_action('wp_head', 'yahoo_verify');
   2.805 +}
   2.806 +if ($options['msverify']) {
   2.807 +	add_action('wp_head', 'ms_verify');
   2.808 +}
   2.809 +if ($options['nofollowindexlinks']) {
   2.810 +	add_filter('the_content','nofollow_index');
   2.811 +}
   2.812 +if ($options['replacemetawidget']) {
   2.813 +	add_action('plugins_loaded', 'widget_jdvmeta_init');
   2.814 +}
   2.815 +
   2.816 +add_action('admin_menu', array('RobotsMeta_Admin','add_config_page'));
   2.817 +add_action('admin_menu', array('RobotsMeta_Admin','meta_box'));
   2.818 +
   2.819 +add_action('wp_insert_post', array('RobotsMeta_Admin','robotsmeta_insert_post'));
   2.820 +if ($options['version'] < '25') {
   2.821 +	robotsmeta_update();
   2.822 +}
   2.823 +?>
     3.1 Binary file screenshot-1.png has changed
     4.1 Binary file screenshot-2.png has changed