404page – your smart custom 404 error page - Version 11.1.2

Version Description

exclude 404 page from XML sitemap generated by Jetpack

Download this release

Release Info

Developer petersplugins
Plugin Icon 128x128 404page – your smart custom 404 error page
Version 11.1.2
Comparing to
See all releases

Code changes from version 11.1.1 to 11.1.2

404page.php CHANGED
@@ -9,7 +9,7 @@
9
* Plugin Name: 404page - your smart custom 404 error page
10
* Plugin URI: https://petersplugins.com/404page/
11
* Description: Custom 404 the easy way! Set any page as custom 404 error page. No coding needed. Works with (almost) every Theme.
12
- * Version: 11.1.1
13
* Author: Peter Raschendorfer
14
* Author URI: https://petersplugins.com
15
* Text Domain: 404page
9
* Plugin Name: 404page - your smart custom 404 error page
10
* Plugin URI: https://petersplugins.com/404page/
11
* Description: Custom 404 the easy way! Set any page as custom 404 error page. No coding needed. Works with (almost) every Theme.
12
+ * Version: 11.1.2
13
* Author: Peter Raschendorfer
14
* Author URI: https://petersplugins.com
15
* Text Domain: 404page
assets/css/404page-ui.css CHANGED
@@ -1,5 +1,7 @@
1
#select404page {
2
width: 100%;
3
}
4
5
.pp-404page-videos:after {
1
#select404page {
2
+ display: block;
3
width: 100%;
4
+ max-width: none;
5
}
6
7
.pp-404page-videos:after {
inc/class-404page-admin.php CHANGED
@@ -172,7 +172,7 @@ if ( !class_exists( 'PP_404Page_Admin' ) ) {
172
}
173
174
wp_dropdown_pages( array( 'name' => $this->settings()->get_option_name() . '[page_id]', 'id' => 'select404page', 'echo' => 1, 'show_option_none' => esc_html__( '— NONE (WP default 404 page) —', '404page'), 'option_none_value' => '0', 'selected' => $this->settings()->get( 'page_id' ) ) );
175
-
176
echo '<div id="404page_edit_link" style="display: none">' . get_edit_post_link( $this->settings()->get( 'page_id' ) ) . '</div>';
177
echo '<div id="404page_test_link" style="display: none">' . get_site_url() . '/404page-test-' . md5( rand() ) . '</div>';
178
echo '<div id="404page_current_value" style="display: none">' . $this->settings()->get( 'page_id' ) . '</div>';
@@ -198,6 +198,26 @@ if ( !class_exists( 'PP_404Page_Admin' ) ) {
198
199
}
200
201
}
202
203
172
}
173
174
wp_dropdown_pages( array( 'name' => $this->settings()->get_option_name() . '[page_id]', 'id' => 'select404page', 'echo' => 1, 'show_option_none' => esc_html__( '&mdash; NONE (WP default 404 page) &mdash;', '404page'), 'option_none_value' => '0', 'selected' => $this->settings()->get( 'page_id' ) ) );
175
+
176
echo '<div id="404page_edit_link" style="display: none">' . get_edit_post_link( $this->settings()->get( 'page_id' ) ) . '</div>';
177
echo '<div id="404page_test_link" style="display: none">' . get_site_url() . '/404page-test-' . md5( rand() ) . '</div>';
178
echo '<div id="404page_current_value" style="display: none">' . $this->settings()->get( 'page_id' ) . '</div>';
198
199
}
200
201
+ if ( defined( 'JETPACK__VERSION' ) && method_exists( 'Jetpack', 'is_module_active' ) && Jetpack::is_module_active( 'sitemaps' ) ) {
202
+
203
+ // Jetpack since version 11.1.2
204
+
205
+ echo '<p class="pp-404page-info">';
206
+
207
+ if ( $this->settings()->get( 'fire_error' ) ) {
208
+
209
+ echo esc_html__( 'Jetpack sitemap detected. Your 404 page is automatically excluded from the XML sitemap created by Jetpack.', '404page' );
210
+
211
+ } else {
212
+
213
+ echo esc_html__( 'Jetpack sitemap detected. Your 404 page is NOT automatically excluded from the XML sitemap created by Jetpack, because you disabled the option "Send an 404 error if the page is accessed directly by its URL" on the "Advanced" tab.', '404page' );
214
+
215
+ }
216
+
217
+ echo '</p>';
218
+
219
+ }
220
+
221
}
222
223
inc/class-404page.php CHANGED
@@ -147,17 +147,32 @@ if ( !class_exists( 'PP_404Page' ) ) {
147
add_filter( 'redirect_canonical' ,array ( $this, 'no_url_guessing' ) );
148
}
149
150
- // Remove 404 error page from YOAST sitemap
151
// only if "Send an 404 error if the page is accessed directly by its URL" is active
152
- // @since 6
153
if ( $this->settings()->get( 'fire_error' ) ) {
154
155
// we do not need to check if Yoast Sitemap feature is activated because the filter only fires if it is active
156
add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', function ( $alreadyExcluded ) {
157
// as of 11.0.5 we add the page ID to the array of already excluded pages
158
// plus we exclude the 404 page in all languages
159
return array_merge( $alreadyExcluded, $this->get_all_page_ids() );
160
- } );
161
162
}
163
147
add_filter( 'redirect_canonical' ,array ( $this, 'no_url_guessing' ) );
148
}
149
150
+
151
+ // Remove 404 error page from XML sitemaps
152
// only if "Send an 404 error if the page is accessed directly by its URL" is active
153
if ( $this->settings()->get( 'fire_error' ) ) {
154
155
+ // YOAST sitemap
156
+ // @since 6
157
+
158
// we do not need to check if Yoast Sitemap feature is activated because the filter only fires if it is active
159
add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', function ( $alreadyExcluded ) {
160
// as of 11.0.5 we add the page ID to the array of already excluded pages
161
// plus we exclude the 404 page in all languages
162
return array_merge( $alreadyExcluded, $this->get_all_page_ids() );
163
+ }, 999 );
164
+
165
+
166
+ // Jetpack sitemap
167
+ // @since 11.1.2
168
+
169
+ // we do not need to check if Jetpack Sitemap feature is activated because the filter only fires if it is active
170
+ add_filter( 'jetpack_sitemap_skip_post', function ( $skip, $post ) {
171
+ if ( in_array( intval( $post->ID ), $this->get_all_page_ids() ) ) {
172
+ $skip = true;
173
+ }
174
+ return $skip;
175
+ }, 999, 2 );
176
177
}
178
loader.php CHANGED
@@ -42,7 +42,7 @@ function pp_404page() {
42
'slug' => pathinfo( dirname( __FILE__ ) . '/404page.php', PATHINFO_FILENAME ),
43
'name' => '404page - your smart custom 404 error page',
44
'shortname' => '404page',
45
- 'version' => '11.1.1'
46
) );
47
48
}
42
'slug' => pathinfo( dirname( __FILE__ ) . '/404page.php', PATHINFO_FILENAME ),
43
'name' => '404page - your smart custom 404 error page',
44
'shortname' => '404page',
45
+ 'version' => '11.1.2'
46
) );
47
48
}
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: petersplugins
3
Tags: page, 404, error, error page, 404 page, page not found, page not found error, 404 error page, missing, broken link, template, 404 link, seo, custom 404, custom 404 page, custom 404 error, custom 404 error page, customize 404, customize 404 page, customize 404 error page, classicpress
4
Requires at least: 4.0
5
Tested up to: 5.3
6
- Stable tag: 11.1.1
7
Requires PHP: 5.4
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -171,6 +171,9 @@ Please use the [Support Forum](https://wordpress.org/support/plugin/404page).
171
172
== Changelog ==
173
174
= 11.1.1 (2019-11-16) =
175
* from now on it is not only detected if Yoast SEO Plugin is active, but also if the sitemap feature is activated
176
@@ -329,6 +332,9 @@ Please use the [Support Forum](https://wordpress.org/support/plugin/404page).
329
330
== Upgrade Notice ==
331
332
= 11.1.1 =
333
Yoast SEO sitemap feature detection
334
3
Tags: page, 404, error, error page, 404 page, page not found, page not found error, 404 error page, missing, broken link, template, 404 link, seo, custom 404, custom 404 page, custom 404 error, custom 404 error page, customize 404, customize 404 page, customize 404 error page, classicpress
4
Requires at least: 4.0
5
Tested up to: 5.3
6
+ Stable tag: 11.1.2
7
Requires PHP: 5.4
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
171
172
== Changelog ==
173
174
+ = 11.1.2 (2019-11-19) =
175
+ * exclude 404 page from XML sitemap generated by Jetpack
176
+
177
= 11.1.1 (2019-11-16) =
178
* from now on it is not only detected if Yoast SEO Plugin is active, but also if the sitemap feature is activated
179
332
333
== Upgrade Notice ==
334
335
+ = 11.1.2 =
336
+ exclude 404 page from XML sitemap generated by Jetpack
337
+
338
= 11.1.1 =
339
Yoast SEO sitemap feature detection
340