5

I want to find all questions tagged on the meta sites of all Stack Exchange sites.

Is there a better way than searching manually on each individual site?

migrated from webapps.stackexchange.com May 27 '14 at 2:38

This question came from our site for power users of web applications.

10

Simplest Approach

Use Google-fu. Combine the site operator, * (wildcard) and your query.

site:meta.*.stackexchange.com <query>

For example, site:meta.*.stackexchange.com community-ads

enter image description here

Longer Accurate Approach

Use the filters feature on Stack Exchange main site.

enter image description here

Which results in:

enter image description here

3

If you're looking for sites where a tag appears (as opposed to wanting to search the actual questions containing that tag):

Building on another answer, type this into Google:

site:*/tags/{tag you want}/info

This gives you a nice list of all the sites containing that tag, with each site appearing only once.

To include more sites, but duplicate results (and increase the chance of including non-SE sites), remove /info:

site:*/tags/{tag you want}

This could potentially include a few non-Stack Exchange sites and is not limited to Meta, but trying to narrow it down with something like the below doesn't work so well.

site:*.stackexchange.com/tags/{tag you want}/info

For Meta-only, you can consider simply adding "meta" to the search: (although that's not perfect)

site:*/tags/{tag you want}/info meta

You might want to include similar results that Google excludes by default (link optionally appearing at the bottom of the results or add &filter=0 to the URL).

Example:

This might not find all sites, but it can be a good starting point to find a tag.

  • Strange that site:*.stackexchange.com/tags/community-ads/info returns only 1 result. – Nicolas Raoul Aug 24 '17 at 3:40
2

Another option is to use SEDE. This query returns all questions on Stack Exchange, newest first.

The current top results are:

enter image description here


For reference, here is the complete query (with help of this multi-db query template):

-- result table, don't rename and keep the site column
create table #results (site nvarchar(250), id int, creationdate datetime, title nvarchar(250));

declare @sql nvarchar(max) = ''   -- holds build up sql string

-- build one biq union sql, for each db
select @sql = @sql 
+ iif( len(@sql) > 1 
     , 'union'
     , 'insert into #results'
) +
-- here goes the per site query, fully qualify the database objects
N'
select ''' + name + '''
     , p.id
     , p.creationdate
     , p.title
from ' + quotename(name) + '.dbo.posts as p
where p.tags LIKE ''%<community-ads>%'' collate sql_latin1_general_cp1_ci_ai
'
from sys.databases
where database_id > 5
-- and (name not like '%.Meta' or name = 'StackExchange.Meta')

--print @sql

-- execute it
exec (@sql)

-- show results
select site,
       -- URL builder from Lamak http://stackoverflow.com/a/38129701
      'https://' 
      + case PARSENAME(site,1)
        when 'audio' then 'avp'
        else PARSENAME(site,1)
        end 
      + coalesce('.' 
        + case PARSENAME(site,2)
          when 'audio' then 'avp'
          else PARSENAME(site,2)
          end , '')
      + IIF(patindex('%.MathOverflow%',site) > 0
      , ''
      , coalesce('.' + PARSENAME(site,3), '')
      )
      + IIF(patindex('%.MathOverflow%',site) > 0
      , '.net'
      , '.com'
      ) 
      + '/q/'
      + cast(id as nvarchar) as 'Post Link'
      -- rest of columns
      , creationdate
      , title
from #results
order by creationdate desc


drop table #results

Note that SEDE is updated once a week, on Sunday morning.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .