How to get all pages and count of each page in confluence?

I want to display all pages and counts in confluence page.

Can we create a macro for that?

Also I want to display the maximum count of pages.

All should be display in table format.

6 answers

1 accepted

This widget could not be displayed.

Hi you can try this user macro:

## Macro title: Page counter
## Macro has a body: Y or N (N)
## Body processing: Selected body processing option
## Output: Selected output option
##
## Developed by: Cedric DEVAUX
## Date created: 21/07/2014
## Macro to count pages in the space.
## @noparams
## Settings
#set($containerManagerClass=$action.class.forName('com.atlassian.spring.container.ContainerManager'))
#set($getInstanceMethod=$containerManagerClass.getDeclaredMethod('getInstance',null))
#set($containerManager=$getInstanceMethod.invoke(null,null))
#set($containerContext=$containerManager.containerContext)
## the spaceManager gives you access to the spaces
#set($spaceManager =$containerContext.getComponent('spaceManager'))
<h2>Page counter per spaces</h2>
<table class="confluenceTable">
        <tr>
            <th class="confluenceTh">Space Name</th>
            <th class="confluenceTh">Count</th>
        </tr>
    #foreach($sp in $spaceManager.getAllSpaces())
    #if($sp.isGlobal())
    <tr>
        <td>
            <a href="/display/$sp.getKey()">$sp.getName()</a>
        </td>
        <td>
            $spaceManager.findPageTotal($sp)
        </td>
    </tr>
    
    #end
    #end
</table>

Thanks cedric, this macro is helpful. Also I want a list of all of the pages in Confluence and how many times each has been accessed.

Any chance we can add some code that would allow for a "total" line at the bottom that sums up Space Page Counts?

Davin Studer Community Champion Dec 03, 2014

Confluence does not keep track of how many times each page has been accessed. At least I've never found it and I've looked all over the database for it.

This widget could not be displayed.

Site statistics is an old link, but still valid. Various queries of the Confluence database using SQL for Confluence.

This widget could not be displayed.

"Display all pages" does not make sense.  You want to include the content of every page in one place?  For even a small Confluence, that's not going to work - you'll have thousands of pages and it'll take too long to build and render.

Or do you mean a list of all pages, just their name?  That's still not much use - a tiny new confluence will quickly have hundreds, and a typical one has tens of thousands.

I'm afraid "counts" makes no sense either.  What are you counting?

Maximum count of pages?  Ok, you want to count pages, what is the criteria?  And what do you mean by "maximum" (As there's no specific limit in Confluence, maximum doesn't make any sense)

I think you need to explain your requirement better.  What question are you trying to answer with these numbers and lists?  Forget about tables, pages, counts for now, just tell us what your user (or you) want to know specifically and why?

Thanks for replay, I want to display on any confluence page in following table structure manner. Display all pages in one place with their counts. | All Pages | Count | | | | The table should be display the maximum count of page. Maximum count is when the page get loaded.

I'm afraid that does not make it any more clear. The closest I can imagine is not even a table, you just want to know how many pages you have. Your "all pages" column has no data because "all pages" is meaningless. Count is fine - it's the number of pages you have in your installation. It's available on the system-information page, so I imagine it would be quite easy to write a macro to extract it and hence say "this confluence has a total of X pages" There's still no "maximum" there, and "maximum count is when the page gets loaded" is still complete nonsense.

This widget could not be displayed.
Davin Studer Community Champion Nov 21, 2014

Are you saying that you want a list of all of the pages in Confluence and how many times each has been accessed?

This widget could not be displayed.

Yes Davin, how can I get this..?

This widget could not be displayed.

Actually, I found a quicker answer that does not require any developpment: simply search for the wildcard on all pages!

.../dosearchsite.action?cql=siteSearch+~+"*"+and+type+%3D+"page"&queryString=*

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Monday in Confluence

Why start from scratch? Introducing four new templates for Confluence Cloud

Hi my Community friends!  For those who don't know me, I'm a product marketer on the Confluence Cloud team - nice to meet you! For those of you who do, you know that I've been all up in your Co...

496 views 7 6
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you