Slim SEO Metabox Appears Above ASE Pro Custom Fields on Pages

A WordPress site using ASE Pro custom fields may show an unexpected editor layout after installing Slim SEO:

Page editor

Search Engine Optimization — Slim SEO
--------------------------------------

ASE Custom Fields
--------------------------------------

when the preferred order is:

ASE Custom Fields
--------------------------------------

Search Engine Optimization — Slim SEO
--------------------------------------

An obvious solution appears to be Slim SEO’s documented priority filter:

add_filter( 'slim_seo_meta_box_priority', function() {
	return 'low';
} );

But sometimes that snippet appears to do absolutely nothing.

Even more confusingly, the same site may behave correctly on custom post types:

CPT editor

ASE Custom Fields
--------------------------------------

Search Engine Optimization
--------------------------------------

while only normal WordPress Pages have Slim SEO above the custom fields.

That difference is the biggest clue.

The likely cause is not ASE Pro and not a broken Slim SEO filter.

It is WordPress’s saved per-user, per-screen metabox ordering system.

The Slim SEO Filter Is Correct

Slim SEO officially documents:

add_filter( 'slim_seo_meta_box_priority', function() {
	return 'low';
} );

as the way to move its Search Engine Optimization metabox toward the bottom of its editor context.

Slim SEO also exposes:

slim_seo_meta_box_context

for choosing:

normal
advanced
side

and:

slim_seo_meta_box_priority

for adjusting its priority.

So there is nothing syntactically wrong with the reported snippet.

The problem is that the priority supplied when a plugin registers a metabox is not always the final ordering WordPress uses.

WordPress Has Two Layers of Metabox Ordering

When a plugin registers a metabox, it supplies a priority.

WordPress’s add_meta_box() supports:

high
core
default
low

within a given context.

Conceptually:

Plugin registration

ASE custom fields → priority X
Slim SEO          → priority low

would normally determine the order.

But WordPress then applies a second layer:

User's previously saved metabox arrangement

And that layer can override plugin priority.

WordPress Explicitly Overrides Priority for Manually Sorted Boxes

The important code is inside WordPress Core’s do_meta_boxes().

WordPress retrieves:

get_user_option( "meta-box-order_$page" );

and then processes the saved metabox IDs.

The Core source even describes what it is doing:

Grab the ones the user has manually sorted. Pull them out of their previous context/priority and into the one the user chose.

Those boxes are re-added using a special priority:

sorted

That means the final process is effectively:

Plugin says:
Slim SEO = low

        ↓

WordPress finds saved user order

        ↓

Slim SEO was previously positioned here

        ↓

WordPress moves it into:
sorted

        ↓

Saved order wins

Once that happens, changing:

slim_seo_meta_box_priority

to low may not visibly change anything.

Why It Happens Only on Pages

This also explains the strange Page-versus-CPT difference perfectly.

WordPress stores metabox layouts separately for different editor screens.

For Pages, the saved user option is:

meta-box-order_page

A custom post type uses its own screen-specific value, conceptually:

meta-box-order_book
meta-box-order_event
meta-box-order_product

depending on the CPT slug.

WordPress Core uses the current screen ID when retrieving:

meta-box-order_$page

So this is entirely possible:

Page screen
meta-box-order_page

Slim SEO
ASE Fields

        ✕

CPT screen
meta-box-order_my_cpt

ASE Fields
Slim SEO

        ✓

The two screens do not have to share the same ordering.

This is why a problem affecting Pages but not CPTs strongly points toward saved WordPress screen preferences.

WordPress Saves This Per User

The metabox order belongs to the current WordPress user.

It is stored as user metadata rather than as a global site setting.

Historically, WordPress stores keys such as:

meta-box-order_page
meta-box-order_post
meta-box-order_{custom-post-type}

along with corresponding hidden-metabox settings.

Therefore two administrators can theoretically see different metabox arrangements on the same Page editor.

For example:

Administrator A

Slim SEO
ASE Fields

while:

Administrator B

ASE Fields
Slim SEO

can occur on exactly the same website.

First Test: Log In as Another Administrator

Before changing code, a useful diagnostic is to open the same Page editor using another administrator account.

If the second administrator sees:

ASE custom fields
Slim SEO

while the original user sees:

Slim SEO
ASE custom fields

the cause is effectively confirmed.

The plugin configuration is site-wide.

The difference is the user’s stored editor arrangement.

First Fix: Try Reordering the Boxes Manually

If the editor allows the metaboxes to be reordered, simply move:

Search Engine Optimization

below the ASE custom field group.

Reload the Page editor.

If it remains there, WordPress has updated:

meta-box-order_page

for that user.

No PHP code is necessary.

This is preferable when it works because it uses WordPress’s intended metabox-ordering mechanism.

If You Cannot Move It: Reset the Page Metabox Order

If the editor does not allow convenient reordering, or the saved order has become awkward, reset the current user’s Page metabox arrangement.

The value to reset is:

meta-box-order_page

Do not delete unrelated user metadata.

A temporary PHP snippet can reset only that setting:

add_action( 'admin_init', function() {
	if ( ! current_user_can( 'manage_options' ) ) {
		return;
	}

	delete_user_meta(
		get_current_user_id(),
		'meta-box-order_page'
	);
} );

Important

This should be used as a one-time reset.

The procedure is:

1. Add/enable snippet
        ↓
2. Reload wp-admin once
        ↓
3. Confirm Page editor layout
        ↓
4. Disable/remove snippet

Do not leave it permanently active.

Otherwise WordPress would delete the user’s saved Page metabox arrangement every time an administrator loads wp-admin.

Why Resetting the Order Helps

After deleting:

meta-box-order_page

WordPress no longer has a manually sorted Page layout to apply.

The editor goes back to the plugins’ registered contexts and priorities.

Conceptually:

Before

Slim SEO says: low
        ↓
Saved Page order exists
        ↓
Saved order overrides priority

After reset:

Slim SEO says: low
        ↓
No saved Page order
        ↓
Normal plugin priorities apply

If ASE’s custom-field metabox naturally registers ahead of Slim SEO, the expected result becomes:

ASE Custom Fields
--------------------------------

Search Engine Optimization
--------------------------------

This Is Also Why Changing low to Something Else May Appear Useless

Suppose the saved Page order contains:

slim-seo
ase-custom-fields-123

Changing the Slim SEO registration between:

high

and:

low

does not necessarily move it.

WordPress’s saved sorting process removes manually ordered boxes from their original priority buckets and places them into:

sorted

instead.

The saved sequence then determines their display order.

So repeatedly experimenting with:

return 'low';

or:

return 'high';

may produce no visible difference.

Why Installing Slim SEO Can Expose an Old Saved Layout

This does not necessarily mean Slim SEO wrote an incorrect Page preference.

The Page screen may already have a saved metabox arrangement from previous editing activity.

When another metabox appears, WordPress combines the current registered boxes with the user’s existing sorted arrangement.

That can produce a layout that is different from what plugin priorities alone would suggest.

The important distinction is:

Metabox registration priority
≠
User's final saved metabox order

Do Not Delete the ASE Custom Field Groups

There is no reason to recreate the ASE custom fields just to change their editor position.

ASE Pro explicitly supports custom field groups as part of its Custom Content Types functionality.

The reported behavior concerns editor presentation, not the stored custom-field data.

Deleting or recreating field groups introduces unnecessary risk.

Do Not Edit Slim SEO Plugin Files

Likewise, do not modify Slim SEO’s plugin code to change its add_meta_box() call.

Even if a hardcoded change appears to work, the next Slim SEO update will overwrite it.

Slim SEO already provides an official filter for priority.

The problem is not that WordPress lacks a priority setting.

It is that the user-specific saved order can take precedence afterwards.

What About Changing the Context?

Slim SEO also offers:

add_filter( 'slim_seo_meta_box_context', function() {
	return 'side';
} );

to move the SEO metabox to the editor sidebar.

That can be useful if placing SEO settings in the sidebar is actually desired.

But it should not be used merely to work around an incorrect order.

If the desired layout is:

Main editor area

ASE Fields
Slim SEO

then changing Slim SEO to:

side

solves a different problem.

Resetting or rearranging the saved Page order is cleaner.

Gutenberg Adds One More Detail

Slim SEO’s documentation notes that for a post type using Gutenberg:

normal

and:

advanced

effectively behave the same for its metabox placement.

So switching between those two contexts may not solve this particular issue either.

WordPress’s Block Editor still supports legacy PHP metaboxes and runs the normal metabox registration/rendering process for them.

The saved screen order therefore remains relevant.

How to Confirm the Saved Value

Developers can inspect the currently logged-in user’s Page layout with:

$order = get_user_option(
	'meta-box-order_page',
	get_current_user_id()
);

error_log( print_r( $order, true ) );

Do this only temporarily on a development or staging environment.

The result may resemble:

Array
(
    [normal] =>
        slim-seo,ase-field-group-example,...

    [side] =>
        submitdiv,pageparentdiv,...
)

If slim-seo appears before the ASE group in that stored sequence, the reason for the visible Page order is confirmed.

WP-CLI Alternative

If WP-CLI is available, an administrator can inspect the relevant user meta before deleting it.

Conceptually:

wp user meta get USER_ID meta-box-order_page

and, after confirming the correct account:

wp user meta delete USER_ID meta-box-order_page

Do not copy an arbitrary user ID from another website.

Identify the correct WordPress administrator first.

The PHP one-time reset is often simpler for users without shell access.

Why CPTs Should Be Left Alone

Since the CPT editors already display:

ASE custom fields
        ↓
Slim SEO

correctly, there is no reason to reset their metabox layouts.

Reset only:

meta-box-order_page

rather than attempting to remove all:

meta-box-order_*

preferences.

That preserves the editor layout already working on the rest of the site.

Recommended Troubleshooting Sequence

Use this order:

1. Keep the Slim SEO priority snippet unchanged
        ↓
2. Open another administrator account if available
        ↓
3. Compare the Page metabox order
        ↓
4. Try manually moving Slim SEO below ASE
        ↓
5. Reload Page editor

If the problem remains:

6. Back up the database
        ↓
7. Reset current user's:
   meta-box-order_page
        ↓
8. Remove the reset snippet
        ↓
9. Open Page editor again

Then check:

ASE Custom Fields
        ↓
Search Engine Optimization

Most Likely Explanation

The observation:

Pages:
Slim SEO above ASE ✕

CPT:
Slim SEO below ASE ✓

is exactly the kind of difference WordPress’s per-screen metabox preferences can produce.

WordPress Core retrieves the saved layout using the screen-specific key:

get_user_option( "meta-box-order_$page" );

and moves manually sorted boxes into the sorted priority before displaying them.

Therefore:

add_filter( 'slim_seo_meta_box_priority', function() {
	return 'low';
} );

can be working correctly while still appearing ineffective.

The plugin priority is being superseded by WordPress’s saved Page layout.

Final Answer

The Slim SEO filter is valid, so the problem is unlikely to be the snippet itself.

The page-only nature of the issue strongly suggests that the current WordPress user already has a saved:

meta-box-order_page

preference.

That saved order can override Slim SEO’s low priority. Custom post types maintain separate metabox-order settings, explaining why they can display correctly at the same time.

The first thing to try is simply moving the Slim SEO box underneath the ASE fields and reloading the editor.

If WordPress will not retain the desired arrangement, reset only the current user’s Page metabox order:

add_action( 'admin_init', function() {
	if ( ! current_user_can( 'manage_options' ) ) {
		return;
	}

	delete_user_meta(
		get_current_user_id(),
		'meta-box-order_page'
	);
} );

Enable that snippet for one admin page load only, then remove or disable it.

There should be no need to delete ASE fields, modify Slim SEO plugin files, or change the CPT configuration.

About the author

Tahrim Naziat

WordPress and Server Troubleshooting Specialist

Tahrim Naziat is a senior WordPress and JavaScript developer with more than 14 years of experience specializing in WordPress troubleshooting, WooCommerce, PHP compatibility, plugin conflicts, malware cleanup, performance optimization, Nginx, Redis, and production server issues. He documents practical solutions based on real WordPress debugging, technical investigations, and client projects.

Leave a Comment