// SEO: Disable user sitemap (exposes editor usernames to scrapers)
add_filter('wp_sitemaps_add_provider', function($provider, $name) {
if ($name === 'users') return false;
return $provider;
}, 10, 2);
// SEO: Remove post_tag archives from XML sitemap (thin/low-value pages)
add_filter('wp_sitemaps_taxonomies', function($taxonomies) {
unset($taxonomies['post_tag']);
return $taxonomies;
});
// SEO: Auto-generate SEO title on publish via Gemini API (2026-03-25)
add_action('transition_post_status', 'hannity_auto_seo_title', 10, 3);
function hannity_auto_seo_title($new_status, $old_status, $post) {
// Only fire when transitioning TO publish for the first time
if ($new_status !== 'publish' || $post->post_type !== 'post') return;
if ($old_status === 'publish') return; // skip re-saves of already-published posts
// Skip if seo_title already set
if (get_post_meta($post->ID, 'seo_title', true)) return;
$title = $post->post_title;
if (empty($title)) return;
$prompt = 'Convert this news headline to a clean SEO title tag (50-65 chars max). '
. 'Remove ALL CAPS prefixes like BREAKING: BUSTED: WATCH: BOMBSHELL: etc. '
. 'Remove [WATCH] [VIDEO] suffixes. Factual, keyword-rich, no spin. '
. 'Return ONLY the SEO title as a plain string, no quotes, no explanation.'
. "\n\nHeadline: " . $title;
$api_key = 'AIzaSyB-D7nxEi4UzLdoKIZBAY_ydYS5JT8EBCU';
$url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=' . $api_key;
$response = wp_remote_post($url, array(
'headers' => array('Content-Type' => 'application/json'),
'body' => json_encode(array(
'contents' => array(array('parts' => array(array('text' => $prompt)))),
'generationConfig' => array('temperature' => 0.2, 'maxOutputTokens' => 100),
)),
'timeout' => 10,
));
if (is_wp_error($response)) return;
$data = json_decode(wp_remote_retrieve_body($response), true);
$seo_title = trim($data['candidates'][0]['content']['parts'][0]['text'] ?? '');
if (empty($seo_title)) return;
$seo_title = trim($seo_title, '"\''); // strip any surrounding quotes Gemini adds
update_post_meta($post->ID, 'seo_title', $seo_title);
update_post_meta($post->ID, '_seo_title', 'field_56425125fb2ed'); // ACF field key ref
}
White House Press Briefing
WATCH NOW: White House Press Secretary Karoline Leavitt Holds Press Briefing
posted by Hannity Staff - 4.01.25
White House Press Secretary Karoline Leavitt takes the podium for the daily press briefing in the Brady Press Briefing Room at the White House on Tuesday.
Leavitt will address recent deportation flights, tariffs going into effect, plummeting border numbers, and historic investments in America since Trump took office.
Watch the press briefing above.